jQuery - событие hashchange - PullRequest
       105

jQuery - событие hashchange

80 голосов
/ 22 июня 2010

Я использую:

$(window).bind( 'hashchange', function(e) { });

, чтобы связать функцию с событием изменения хеша.Кажется, это работает в IE8, Firefox и Chrome, но не в Safari, и я предполагаю, что не в более ранней версии IE.Для этих браузеров я хочу отключить мой код JavaScript, который использует хэш и событие hashchange.

Есть ли способ с jQuery, который я могу определить, поддерживает ли браузер событие hashchange?Может быть, что-то с jQuery.support ...

Ответы [ 12 ]

0 голосов
/ 09 мая 2013

Используйте Modernizr для обнаружения возможностей функции. В общем, jQuery предлагает обнаруживать функции браузера: http://api.jquery.com/jQuery.support/. Однако hashchange отсутствует в списке.

Вики Modernizr предлагает список библиотек для добавления возможностей HTML5 в старые браузеры. Список для hashchange содержит указатель на проект HTML5 History API , который, по-видимому, предлагает функциональность, которая понадобится вам, если вы хотите эмулировать поведение в старых браузерах.

0 голосов
/ 22 июня 2010

Я думаю, что у Криса Койера есть решение этой проблемы хэширования, взгляните на его скринкаст:

Рекомендации с динамическим контентом

...