2013-06-04 4 views
0

Я пытаюсь получить одностраничное приложение, работающее в Chrome, Safari и Firefox, но Firefox, похоже, не выполняет window.onpopstate вообще.Поддерживает ли Firefox window.onpopstate иначе, чем Chrome и Safari?

window.onpopstate = function() { 
    fullpath = location.pathname; 
    console.log(fullpath); 
} 

У меня есть .htaccess маршрутизации всех запросов обратно index.html так, когда клиент делает запрос, браузер сохраняет URL в виде Java-переменного и передает его через JS в index.html

При запуске в firefox переменная не передается на страницу index.html. У кого-нибудь есть решение или какие-либо предложения по тому, как глубже вникать в эту проблему?

+1

Когда это не срабатывает? При загрузке страницы или при навигации пользователя? – epascarello

+0

на странице груз. Переменная никогда не загружается. – Emanegux

+1

поэтому установите переменную на загрузку страницы с текущим адресом – epascarello

ответ

2

От the Firefox popstate documentation:

Браузеры, как правило, обрабатывать popstate событие по-разному на странице загрузки. Chrome и Safari всегда генерируют всплывающее событие при загрузке страницы, но Firefox этого не делает.

Как epascarello говорит в своем комментарии, инициализировать переменные в load события, и все должно работать в Chrome/Safari и Firefox.

+0

, и я предполагаю, что хороший звонок будет иметь хэштаг-резерв для IE? – Emanegux

+0

@ Emanegux Если у вас достаточно пользователей IE, чтобы это стоило вашего времени, тогда да. Обратите внимание, что [IE10 имеет поддержку] (http://caniuse.com/history). – robertc

+0

FireFox, IE10 и т. Д. Демонстрируют поведение, совместимое со стандартом HTML5. Нажмите https://code.google.com/p/chromium/issues/detail?id=63040, чтобы нажать Google, чтобы исправить Chrome. – Dave

Смежные вопросы