Until all browsers support the onhashchange event what is the best workaround for this?

Is there something for this in jQuery? or as a plug-in?

有帮助吗?

解决方案

Not sure if this is what you're looking for or not but worth a try:

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

其他提示

Yes there is.

Check out this jQuery plugin: 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!
    }
}

Works fine for me across all tested (damn near all) platforms.

Another library that abstracts url management is History.js

If you're looking for an iframe cross domain solution this seems to be the most robust out there:
http://easyxdm.net/wp/
http://www.cakemail.com/the-iframe-cross-domain-policy-problem/

I haven't tried it though and it seems like it could be a bit difficult to implement and might not work in all situations.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top