---
tags: [js, event]
---
`beforeunload` 是 JavaScript 中的一個事件,它在使用者即將離開當前頁面(例如,關閉瀏覽器標籤、重新整理頁面或導航到其他頁面)時觸發。這個事件允許開發者在使用者離開頁面之前執行一些清理操作或提示使用者保存未保存的更改。
### 使用範例
以下是一個簡單的範例,展示如何使用 `beforeunload` 事件來提示使用者在離開頁面之前確認:
```javascript
window.addEventListener('beforeunload', function (event) {
// 自訂提示訊息
const message = "您確定要離開嗎?您可能有未保存的更改。";
// 設定事件的 returnValue 屬性
event.returnValue = message;
// 舊版瀏覽器的相容處理
return message;
});
```
### 說明
- `event.returnValue`:設定這個屬性的值會在某些瀏覽器中顯示一個確認對話框,提示使用者確認是否要離開頁面。
- 返回一個字串:在某些舊版瀏覽器中,返回一個字串也會顯示確認對話框。
### 注意事項
- 現代瀏覽器通常會忽略自訂的提示訊息,而是顯示預設的提示訊息。
- 過度使用 `beforeunload` 事件可能會影響使用者體驗,因此應謹慎使用。
希望這能幫助你理解 `beforeunload` 事件的用途和用法。