2013-03-20 21 views
10

私はこれしようとしました:を表示する警告メッセージ

<body onunload="LogoutNoAsk();"> </body> 

をと機能は次のとおりです。

function LogoutNoAsk() 
{ 
    alert("Please press the Logout button to logout."); 
    parent.close(); 

} 

私は「X」ボタンである近い押すとウィンドウの右上には、警告メッセージなしで直ちに閉じます。どうしましたか?

答えて

14

実際には、onbeforeunloadイベントを使用して、クローズイベントをブロックできます。

は詳細についてはMDN referenceを参照してください、しかし、必要なコードは次のようになります。

window.onbeforeunload = function(e) { 
    return 'Please press the Logout button to logout.'; 
}; 
+0

あなたが、私はこの行を配置する必要があります意味:window.onbeforeunload =機能(E){リターン「ログアウトするログアウトボタンを押してください。 ';}};私のLogoutNoAsk()関数に? – Coolguy

+0

私はそれを試してきましたが、それでもユーザーは「ページに留まる」または「ページを残す」のいずれかを選択することができます。ユーザーに選択を依頼することはできませんか?私はOKボタンで警告メッセージを出したいだけです。 – Coolguy

+1

いいえ、ダイアログのオプションを制御することはできません。これはブラウザが制御するものです。その場所については、 'LogoutNoAsk'を変更してそれを返し、' onunload'ではなく 'onbeforeunload'属性を持つDOMを変更するか、JSを使ってイベントハンドラを呼び出すことができます。 –

関連する問題