設定我使用window.onhashchange功能,當用戶改變頁面的散列來執行代碼執行:防止window.onhashchange從當散列通過JavaScript
window.onhashchange = function() { /* do something */ };
在一些功能我還設置散列通過JavaScript:
window.location.hash = "#abc";
我想防止onhashchange事件發射時,我通過JavaScript設置散列。
我迄今爲止嘗試:
var currently_setting_hash = false;
window.onhashchange = function() {
if (currently_setting_hash)
return;
//...
}
currently_setting_hash = true;
window.location.hash = "#abc";
currently_setting_hash = false;
,因爲事件與延遲發射,所以代碼將首先設置的哈希沒有工作,然後設置「currently_setting_hash」爲false,然後執行onhashchange事件。
任何想法如何實現?或者也許有一種方法來檢測散列是由用戶還是通過JavaScript設置?
我喜歡這個主意 - 馬上就會測試它 – Preli
它的工作原理。你是我的英雄! – Preli