不顯眼的視窗關閉和頁面刷新事件處理
要在瀏覽器視窗關閉或頁面刷新時執行程式碼,一可以利用window.onbeforeunload 和window.onunload 事件監聽器。根據瀏覽器的不同,這些監聽器的呼叫方式也不同。
分配這些監聽器的語法是直接將它們分配給視窗屬性:
window.onbeforeunload = function(){ // Code to execute on window closure or page refresh };
或透過addEventListener 方法:
window.addEventListener("beforeunload", function(e){ // Code to execute on window closure or page refresh });
預設情況下,onbeforeunload聽器通常用於防止使用者突然離開頁面,特別是在未儲存的情況下資料存在。但是,省略傳回字串或將 e.returnValue 設為 false,可以在不顯示確認對話方塊的情況下觸發程式碼。
值得注意的是,當 iframe 被父級刪除時,beforeunload 事件可能無法在 iframe 中執行。然而,在 Chrome 中,unload 和 pagehide 事件在這種情況下都有效。另一方面,Firefox 存在一個錯誤,當 iframe 被其父級刪除時,該錯誤會阻止這些事件觸發。
以上是如何不顯眼地處理視窗關閉和頁面刷新事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!