Firefox и window.location.hash - PullRequest
       4

Firefox и window.location.hash

0 голосов
/ 17 марта 2011

В настоящее время я тестирую приложение AJAX в Firefox 3.6.15, которое использует изменения window.location.hash для навигации, когда мне нужно, чтобы страница не перезагружалась.

У меня есть ссылка, которая делает это:

var editCategoryClick = (function (categoryID) {
                return function () {
                    if (window.location.hash != window.location.hash + '/' + categoryID) {
                        window.location.hash = window.location.hash + '/' + categoryID;
                    }
                }
            })(category.ID);

Это прекрасно работает. Я в конечном итоге с этим результатом. «# числа / категории» становится «# числами / категориями / eba38179-d492-4bb9-ba66-1bfa4c3571fb»

Однако, если я вручную зайду в панель навигации браузера и изменит '# numbers / category' на # numbers /ategX ', хэш не будет обновляться при запуске функции щелчка.

У меня нет этой проблемы ни в одном из других браузеров, которые я тестирую chrome, safari, ie9, ie8. Только Firefox демонстрирует это поведение. Я знаю, это редкий случай, но это все еще проблема UX.

Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 17 марта 2011
  1. Подключите прослушиватель событий onhashchange к датчику изменения хеша. Для неподдерживаемого браузера, используйте setInterval, чтобы обнаружить изменение.
  2. Зачем изобретать велосипед, если вы можете использовать что-то вроде jQuery History ?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...