JavaScript / jQuery - обходной путь для события onhashchange

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

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


person MJLefevre    schedule 06.05.2010    source источник
comment
возможный дубликат Обнаружение кнопки возврата / изменения хэша в URL-адресе   -  person Josh Stodola    schedule 18.09.2010


Ответы (6)


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

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

person gurun8    schedule 06.05.2010

Да, есть.

Оцените этот плагин jQuery: http://benalman.com/projects/jquery-hashchange-plugin/

person rochal    schedule 06.05.2010
comment
Большое спасибо. Работает на ie7. - person Martín Schonaker; 14.11.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!
    }
}

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

person Mike    schedule 25.09.2011

http://benalman.com/projects/jquery-bbq-plugin/

person user422528    schedule 17.08.2010

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

person Tomasz Zieliński    schedule 11.02.2012

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

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

person tkane2000    schedule 22.04.2011