如何检测到window.location.hash
onchange,例如我可以这样做:
if(window.location.hash.hasChanged())
{
// ajax stuff
}
else
{
// nothing, no hash has been changed (without any window reload)
}
如果我更改哈希值,例如编辑并在编辑后按 Enter 键更改哈希值什么也没有发生,只有在窗口重新加载时才会检测到哈希值的变化。
最新的浏览器(FF3.6+、IE8、Chrome)支持窗口对象上的“hashchange”事件 - 请参阅MDC:window.onhashchange获取使用示例。简单的异步监听可能如下所示:
window.onhashchange = function() {
// do something awesome here
};
如果您想要一个支持旧版浏览器的实现,事情很快就会变得复杂,我建议使用其他人的库或插件 - 查看答案对于这个问题的一些建议。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)