Пока все браузеры не поддерживают событие onhashchange, какое решение для этого является лучшим?
Есть ли что-нибудь для этого в jQuery? или как плагин?
Пока все браузеры не поддерживают событие onhashchange, какое решение для этого является лучшим?
Есть ли что-нибудь для этого в jQuery? или как плагин?
Не уверен, что это то, что вы ищете, но стоит попробовать:
http://plugins.jquery.com/project/ba-jquery-hashchange-plugin
Да, есть.
Оцените этот плагин jQuery: http://benalman.com/projects/jquery-hashchange-plugin/
var lastHash = "";
window.onload=function()
{
hashChangeEventListener = setInterval("hashChangeEventHandler()", 50);
}
function hashChangeEventHandler()
{
var newHash = location.hash.split('#')[1];
if(newHash != lastHash)
{
lastHash = newHash;
//Do stuff!
}
}
У меня отлично работает на всех протестированных (черт возьми, почти на всех) платформах.
Другая библиотека, которая абстрагирует управление URL-адресами, - это History.js.
Если вы ищете междоменное решение iframe, оно будет наиболее надежным:
http://easyxdm.net/wp/
http://www.cakemail.com/the-iframe-cross-domain-policy-problem/
Я не пробовал, и кажется, что это может быть немного сложно реализовать и может работать не во всех ситуациях.