我在用:$(window).bind( 'hashchange', function(e) { });将函数绑定到哈希更改事件。这似乎可以在IE8,Firefox和Chrome中使用,但不能在Safari中使用,并且我认为在IE的早期版本中不能使用。对于这些浏览器,我想禁用使用哈希和hashchange事件的JavaScript代码。jQuery是否可以检测浏览器是否支持该hashchange事件?也许与jQuery.support...
3 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
如果有人需要的话,截至2017年的最新答案是,onhashchange所有主要浏览器均已很好地支持该答案。有关详细信息,请参见caniuse。要将其与jQuery一起使用,无需插件:
$( window ).on( 'hashchange', function( e ) {
console.log( 'hash changed' );
} );
偶尔我会遇到仍使用hashbang URL的旧系统,这很有用。如果您要构建新的东西并使用哈希链接,我强烈建议您考虑使用HTML5 pushState API。
一只甜甜圈
TA贡献1836条经验 获得超5个赞
解决问题的另一种方法...
有3种方式将hashchange事件绑定到方法:
<script>
window.onhashchange = doThisWhenTheHashChanges;
</script>
要么
<script>
window.addEventListener("hashchange", doThisWhenTheHashChanges, false);
</script>
要么
<body onhashchange="doThisWhenTheHashChanges();">
这些都可以在Win 7上与IE 9,FF 5,Safari 5和Chrome 12一起使用。
添加回答
举报
0/150
提交
取消