蝴蝶刀刀
2019-11-14 09:25:40
我在用:$(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
提交
取消