このページはコミュニティーの尽力で英語から翻訳されました。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
例
js
window.addEventListener("beforeunload", (event) => {
event.returnValue = "\\o/";
});
// is equivalent to
window.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> |
ブラウザーの互換性
Loading...