[英]Make the browser reload when user adds hash to to URL
因此,假設您有一個像這樣的網址:http: //yoursite.com/#stackoverflow
如果我在地址欄中輸入新的哈希,它將嘗試在頁面上找到該ID。 是否有amy方法(可能使用javascript?)來檢測瀏覽器的活動,然后強制頁面重新加載該URL?
謝謝!
您需要綁定到hashchange
事件:
window.onhashchange = function() {
window.location.reload();
};
不過請小心:某些較舊的瀏覽器不支持此事件( 請參閱參考資料),因此您需要為此使用一個polyfill。
這是一個示例以及針對較舊瀏覽器的輪詢技術:
if ('onhashchange' in window) {
window.onhashchange = function() {
window.location.reload();
};
} else {
var hash = window.location.hash;
setInterval(function() {
if (window.location.hash !== hash) {
window.location.reload();
}
}, 100);
}
在較新的瀏覽器上,您可以使用hashchange
事件 。 實際上,對它的支持還不錯 。 在較舊的瀏覽器上,您必須輪詢location.hash
(例如,使用setInterval
或setTimeout
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.