DOM

Window:beforeunload イベント

 編集:2022.10.17 by T.A.

[Edge]。→

ウィンドウ、文書、およびそのリソースがアンロードされる直前に発生します。

文書はまだ表示されており、この時点ではイベントはキャンセル可能です。

バブリング なし
キャンセル可能 はい
インターフェイス Event
イベント ハンドラー プロパティ onbeforeunload

このイベントによって、ウェブ ページがダイアログ ボックスを表示し、ユーザーにページを終了するかどうかの確認が求めることができます。ユーザーが確認すれば、ブラウザーは新しいページへ遷移し、そうでなければ遷移をキャンセルします。

仕様書によれば、確認ダイアログを表示するためにはイベント ハンドラーでイベントの preventDefault() を呼び出すことになっています。

しかし、すべてのブラウザーがこのメソッドに対応しているわけではなく、一部はイベント ハンドラーに古い方法二つのうちの一つを実装するよう求めていることに注意してください。

¶以下省く

mdnより

HTML の仕様では、Event.returnValue を使用する代わりに Event.preventDefault() メソッドを使用する必要があります。ただし、これはすべてのブラウザーで対応しているわけではありません。

window.addEventListener('beforeunload', (event) => {
  // 標準に記載されているとおりにイベントをキャンセルします。
  event.preventDefault();
  // Chrome では returnValue を設定する必要があります。
  event.returnValue = '';
});

HTML:


 

JavaScript:



テスト