在嘗試偵測後退按鈕點擊時,開發人員通常會依賴 window.onbeforeunload 事件偵聽器。但是,此事件不僅會在後退按鈕點擊時觸發,還會在瀏覽器重新載入時觸發,這可能會產生誤導。
在沒有瀏覽器重新加載幹擾的情況下檢測後退按鈕點擊
處理單擊後退按鈕而沒有誤報,請考慮使用量身定制的方法:
歷史記錄修改:
基於雜湊的方法:
實作
<code class="javascript">window.onload = function () { if (typeof history.pushState === "function") { history.pushState("jibberish", null, null); window.onpopstate = function () { history.pushState('newjibberish', null, null); // Handle back button click here }; } else { var ignoreHashChange = true; window.onhashchange = function () { if (!ignoreHashChange) { ignoreHashChange = true; window.location.hash = Math.random(); // Handle back button click here } else { ignoreHashChange = false; } }; } }</code>
相容性相容性此方法據報可以在Chrome 和Firefox 中有效運作。
以上是如何在不干擾瀏覽器重新載入的情況下偵測使用者在瀏覽器中點選後退按鈕?的詳細內容。更多資訊請關注PHP中文網其他相關文章!