JavaScript/jQuery - onhashchange 事件解决方法

Posted

技术标签:

【中文标题】JavaScript/jQuery - onhashchange 事件解决方法【英文标题】:JavaScript/jQuery - onhashchange event workaround 【发布时间】:2011-02-16 13:06:24 【问题描述】:

在所有浏览器都支持 onhashchange 事件之前,最好的解决方法是什么?

在 jQuery 中有这方面的东西吗?还是作为插件?

【问题讨论】:

Detecting Back Button/Hash Change in URL的可能重复 【参考方案1】:

不确定这是否是您要找的,但值得一试:

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

【讨论】:

【参考方案2】:

是的。

查看这个 jQuery 插件:http://benalman.com/projects/jquery-hashchange-plugin/

【讨论】:

非常感谢。适用于 ie7。【参考方案3】:
var lastHash = "";

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


function hashChangeEventHandler()

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

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

在所有经过测试的(几乎所有)平台上都适合我。

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

另一个抽象url管理的库是History.js

【讨论】:

【参考方案6】:

如果您正在寻找 iframe 跨域解决方案,这似乎是最强大的解决方案:http://easyxdm.net/wp/http://www.cakemail.com/the-iframe-cross-domain-policy-problem/

虽然我还没有尝试过,但它似乎有点难以实施,并且可能无法在所有情况下工作。

【讨论】:

以上是关于JavaScript/jQuery - onhashchange 事件解决方法的主要内容,如果未能解决你的问题,请参考以下文章

javascript jquery全选反选#jquery

Javascript / jQuery - 隐藏字段时禁用验证

javascript,jquery上的qts [重复]

CodeIgniter 和 Javascript/Jquery 库

JavaScript 快速Javascript / jQuery函数

Javascript/JQuery 仅在页面焦点上执行 Javascript