在瀏覽器視窗關閉或頁面刷新時執行代碼
通常,當使用者關閉瀏覽器視窗或刷新頁面時,需要執行特定操作刷新網頁。幸運的是,有兩個事件處理程序可以滿足此需求: window.onbeforeunload 和 window.onunload。
window.onbeforeunload
onbeforeunload 事件在使用者操作時觸發嘗試離開頁面。通常,它用於顯示一個確認框,要求使用者確認他們的選擇,或者如果使用者有未儲存的數據,則阻止他們離開頁面。但是,透過不傳回字串或設定 event.returnValue,您可以阻止瀏覽器顯示訊息並以靜默方式執行程式碼。
window.onunload
從瀏覽器卸載頁面時會觸發 onunload 事件。它通常用於執行清理任務,例如刪除任何延遲事件偵聽器或關閉資料庫連線。
實作
onbeforeunload 和 onunload 都可以指派給視窗屬性或使用 .addEventListener 方法。範例如下:
// window property window.onbeforeunload = function() { // Do something }; // .addEventListener window.addEventListener("beforeunload", function(e) { // Do something });
注意:
對於 iframe,當 iframe 被其父級刪除時,onbeforeunload 事件不會觸發,但 unload 和 pagehide 事件會觸發。但是,Firefox 目前存在一個錯誤,該錯誤會阻止在刪除 iframe 的情況下觸發這些事件,從而導致無法在 Firefox 中刪除 iframe 之前立即執行程式碼。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3