2009-04-30 9 views
15

ブラウザウィンドウが閉じていることを確認するためにjavascriptを使用して、ユーザがブラウザを終了するか変更を確認するかを確認する確認ダイアログがポップアップ表示される彼の心は留まる?ブラウザウィンドウが閉じるときにJavaScriptをチェックする

+0

ブラウザウィンドウでは、ページウィンドウまたはブラウザ全体を意味しますか? –

+0

[ブラウザウィンドウクローズイベント]の複製が可能です(http://stackoverflow.com/questions/1631959/browser-window-close-event) –

答えて

23
window.onbeforeunload = function (e) { 
    var e = e || window.event; 

    //IE & Firefox 
    if (e) { 
    e.returnValue = 'Are you sure?'; 
    } 

    // For Safari 
    return 'Are you sure?'; 
}; 

https://developer.mozilla.org/en/DOM/window.onbeforeunload

+0

これはおそらく '返品確認'(「よろしいですか...」) ; ' – Anonymous

+1

@Anon nope、confirm()はブール値を返します。文字列を返すには、onbeforeunloadのハンドラが必要です。 –

+0

それは特有の動作です。私はそれをどれぐらい頻繁に使用したかを見せてくれる! – Anonymous

1

ページが閉じられた後にブラウザが起動して残っている場合は、ブラウザは、body要素(時にはそれが無効だ)の「onbeforeunload」イベントを処理する場合、および場合ブラウザではポップアップウィンドウやメサージボックスが許可され、そのイベントからfalseを返してページの変更を防ぐことができます。

たとえば、Javascriptを有効にした状態で任意のStackoverflowページにコメントを入力し、そのページから移動してください。

1

これは私の仕事:

function closeWin(){ 
var exit = confirm("Do you want to leave this window?"); 
    if(exit==true){ 
     //do something before closing; 
    } 
}  

body onbeforeunload="closeWin()" 
0

をIE8

$(window).bind('beforeunload', function (e) { 
     // code to execute when browser is closed 
     e.$.post("func.php", { action: 'action', id_userMsg: '<?php echo $id_user; ?>' });  

    }); 
1

のドキュメントhereonbeforeunloadイベントに耳を傾け、および/またはwindowにイベントリスナーを追加するよう奨励しない限り、これは、あまりにも動作します。

window.addEventListener('beforeunload', function(e) {}, false); 

また、単に機能または関数リファレンスwindow.onunloadまたは.onbeforeunloadプロパティを移入することができます。

行動はブラウザ間で標準化されていないものの、機能は、ページを残しているかどうかを確認するときに、ブラウザが表示する値を返すことがあります。

関連する問題