」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在瀏覽器視窗關閉或頁面重新整理時執行程式碼?

如何在瀏覽器視窗關閉或頁面重新整理時執行程式碼?

發佈於2024-11-22
瀏覽:823

How to Execute Code on Browser Window Close or Page Refresh?

在瀏覽器視窗關閉或頁面刷新時執行代碼

通常,當使用者關閉瀏覽器視窗或刷新頁面時,需要執行特定操作刷新網頁。幸運的是,有兩個事件處理程序可以滿足此需求: 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