このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
BeforeUnloadEvent
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
BeforeUnloadEvent はbeforeunload イベントのインターフェイスです。
beforeunload イベントは、ウィンドウ、文書、そのリソースがアンロードされようとしているときに発生します。
Event のreturnValue プロパティに空文字列でない値が代入されると、ダイアログボックスが現れ、ユーザーにページを離れるかどうかの確認を求めます(下記の例を参照)。値が指定されなかった場合、イベントはサイレントで処理されます。実装によっては、フレームまたは埋め込まれたフレームがユーザージェスチャまたはユーザーの操作を受け取った場合にのみ、ダイアログボックスを示すものもあります。詳しくはブラウザーの互換性を参照してください。
メモ:セキュリティ上の理由から、返す文字列の代わりに、ウェブページの制御しない一般的な文字列のみが示されます。
| バブリング | なし |
| キャンセル | 可 |
| 対象オブジェクト | defaultView |
| インターフェイス | Event |
In this article
例
js
window.addEventListener("beforeunload", (event) => { event.returnValue = "\\o/";});// is equivalent towindow.addEventListener("beforeunload", (event) => { event.preventDefault();});WebKit 派生ブラウザーは、ダイアログボックスについては仕様に従っていません。ほぼクロスブラウザーで動作する例としては、下記の例のようなものがあります。
js
window.addEventListener("beforeunload", (e) => { const confirmationMessage = "\\o/"; // Gecko + IE (e || window.event).returnValue = confirmationMessage; // Safari, Chrome, and other WebKit-derived browsers return confirmationMessage;});仕様書
| Specification |
|---|
| HTML> # the-beforeunloadevent-interface> |