概要
window のリソースの unload 直前に発生するイベントに対応する処理を設定します。 文書が未だ可視状態であり、イベントが未だキャンセル可能 (event.preventDefault) なタイミング で発生します。
構文
window.onbeforeunload = funcRef
funcRef: 関数への参照、または関数式- The function should assign a string value to the
returnValueproperty of the Event object and return the same string - Firefox 4 以降には、戻り値の文字列がダイアログに表示されないバグがあります (参照 : バグ 588292)
例
window.onbeforeunload = function(e) {
return 'Dialog text here.';
};
注記
このイベントが void 以外の値を返す場合、ユーザにページのアンロードを確認するためのプロンプトが表示されます。ほとんどのブラウザでは、イベントの戻り値がこのダイアログに表示されます。
2011 年 5 月 25 日より HTML5 仕様書 に、このイベントの発生中に window.showModalDialog() 、 window.alert() 、 window.confirm() 、 window.prompt() への呼び出しが無視されるという旨の記述がなされています。
window.onbeforeunload でなく window.addEventListener() と beforeunload イベント を用いる事も出来ます。この方法の方がより多くの文書で同イベントを利用可能です。
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| 基本サポート | 1 | 1 | 4 | 12 | 3 |
| 機能 | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| 基本サポート | ? | ? | ? | ? | ? |
仕様
このイベントは最初に Microsoft Internet Explorer 4 で導入され、HTML5 仕様で標準化されました。