首頁 > web前端 > js教程 > 如何在瀏覽器視窗關閉或頁面重新整理時執行程式碼?

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

DDD
發布: 2024-12-01 11:05:10
原創
207 人瀏覽過

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 來說,onbeforeunload 事件不會在iframe 被父級刪除時觸發,而是在unload 和頁面隱藏事件可以。但是,Firefox 目前存在一個錯誤,該錯誤會阻止在 iframe 刪除情況下觸發這些事件,從而導致無法在 Firefox 中刪除 iframe 之前立即執行程式碼。

以上是如何在瀏覽器視窗關閉或頁面重新整理時執行程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板