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