3 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以通過以下方式檢測瀏覽器是否支持該事件:
if ("onhashchange" in window) {
//...
}

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
如果有人需要的話,截至2017年的最新答案是,onhashchange所有主要瀏覽器均已很好地支持該答案。有關(guān)詳細(xì)信息,請(qǐng)參見caniuse。要將其與jQuery一起使用,無需插件:
$( window ).on( 'hashchange', function( e ) {
console.log( 'hash changed' );
} );
偶爾我會(huì)遇到仍使用hashbang URL的舊系統(tǒng),這很有用。如果您要構(gòu)建新的東西并使用哈希鏈接,我強(qiáng)烈建議您考慮使用HTML5 pushState API。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
解決問題的另一種方法...
有3種方式將hashchange事件綁定到方法:
<script>
window.onhashchange = doThisWhenTheHashChanges;
</script>
要么
<script>
window.addEventListener("hashchange", doThisWhenTheHashChanges, false);
</script>
要么
<body onhashchange="doThisWhenTheHashChanges();">
這些都可以在Win 7上與IE 9,F(xiàn)F 5,Safari 5和Chrome 12一起使用。
添加回答
舉報(bào)