Да - на их сайте написано:
Обеспечить перекрестную совместимость для всех браузеров HTML5 (все они реализуют HTML5> History API немного по-разному, вызывая разное поведение, а иногда и ошибки -> History.js исправляет это, обеспечивая ожидаемый / одинаковый / отличный опыт> Браузеры HTML5)
Эти различия невелики, и поиска в Google было недостаточно, чтобы их найти - мне пришлось заглянуть в исходный код - похоже, что основная из них - исправление функциональности HTML5 в Safari. Есть две проблемы с реализацией safari: первая состоит в том, что history.back не может вернуться в хэш-состояние, установленное с помощью location.hash, которое впоследствии заменяется на history.replaceState.
Во-вторых, когда занятое сафари не сможет применить изменения состояния.
Соответствующий исходный код History.js:
History.bugs = {
/**
* Safari 5 and Safari iOS 4 fail to return to the correct state once a hash is replaced by a `replaceState` call
* https://bugs.webkit.org/show_bug.cgi?id=56249
*/
setHash: Boolean(!History.emulated.pushState && navigator.vendor === 'Apple Computer, Inc.' && /AppleWebKit\/5([0-2]|3[0-3])/.test(navigator.userAgent)),
/**
* Safari 5 and Safari iOS 4 sometimes fail to apply the state change under busy conditions
* https://bugs.webkit.org/show_bug.cgi?id=42940
*/
safariPoll: Boolean(!History.emulated.pushState && navigator.vendor === 'Apple Computer, Inc.' && /AppleWebKit\/5([0-2]|3[0-3])/.test(navigator.userAgent)),
Итак, я думаю, ваше решение сводится к тому, заботитесь ли вы о Safari 5 и Safari IOS 4.
person
Hayden Crocker
schedule
03.05.2013