Popstate при загрузке страницы в Chrome

Я использую History API для своего веб-приложения и имею одну проблему. Я выполняю вызовы Ajax для обновления некоторых результатов на странице и использую history.pushState () для обновления строки местоположения браузера без перезагрузки страницы. Затем, конечно, я использую window.popstate , чтобы восстановить предыдущее состояние при нажатии кнопки возврата.

Проблема хорошо известна - Chrome и Firefox по-разному обрабатывают это событие popstate. Хотя Firefox не запускает его при первой загрузке, Chrome запускает. Я хотел бы иметь стиль Firefox и не запускать событие при загрузке, поскольку он просто обновляет результаты точно такими же при загрузке. Есть ли обходной путь, кроме использования History.js ? Причина, по которой я не хочу его использовать, заключается в том, что для него нужно слишком много JS-библиотек, и, поскольку мне нужно, чтобы он был реализован в CMS с уже слишком большим JS, я хотел бы минимизировать JS, который я помещаю в него .

Итак, хотелось бы знать, есть ли способ заставить Chrome не запускать 'popstate' при загрузке или, может быть, кто-то пытался использовать History.js, поскольку все библиотеки собраны вместе в один файл.

94
задан Kyle Strand 3 May 2013 в 02:14
поделиться