JavaScript / jQuery - обход события onhashchange - PullRequest
7 голосов
/ 06 мая 2010

Пока все браузеры не поддерживают событие onhashchange, как лучше всего обойти это?

Есть ли что-то для этого в jQuery? или как плагин?

Ответы [ 6 ]

10 голосов
/ 06 мая 2010

Не уверен, что это то, что вы ищете или нет, но стоит попробовать:

http://plugins.jquery.com/project/ba-jquery-hashchange-plugin

8 голосов
/ 06 мая 2010

Да, есть.

Проверьте этот плагин jQuery: http://benalman.com/projects/jquery-hashchange-plugin/

6 голосов
/ 25 сентября 2011
var lastHash = "";

window.onload=function()
{   
 hashChangeEventListener = setInterval("hashChangeEventHandler()", 50);
}

function hashChangeEventHandler()
{
    var newHash = location.hash.split('#')[1];

    if(newHash != lastHash)
    {
        lastHash = newHash;
        //Do stuff!
    }
}

У меня отлично работает на всех протестированных платформах (черт побери).

1 голос
/ 12 февраля 2012

Другая библиотека, которая абстрагирует управление URL-адресами, - History.js

1 голос
/ 17 августа 2010
0 голосов
/ 22 апреля 2011

Если вы ищете междоменное решение iframe, оно кажется наиболее надежным:
http://easyxdm.net/wp/
http://www.cakemail.com/the-iframe-cross-domain-policy-problem/

Я не пробовал его, икажется, что это может быть немного сложно реализовать и может работать не во всех ситуациях.

...