2016-07-22 6 views
-2

マイページには、ユーザーから収集できる情報が多数含まれているフォームがあります。ユーザーがこのページを閉じようとすると、「このページを終了しますか?」という確認ボックスが表示されます。Firefoxは警告メッセージの確認を無視する

$(window).on('beforeunload',function(e){ 
    //alert code 
} 

すべては問題ありません。しかしFirefoxで検索バーを使用している場合、Firefoxは自分のアラートを無視して検索ページにリダイレクトします。

提案がありますか?

答えて

0

あなたはあなたがあなたのbeforeunload方法でカスタムポップアップを生成することはできません。この

$(window).bind('beforeunload', function() { 
    return 'Your custom message here'; 
}); 

ようなコードの何かを書くことができます。

1

beforeunloadイベントは、ウィンドウ、ドキュメント、およびそのリソースがアンロードされようとしているときに発生します。

文字列がreturnValueイベントプロパティに割り当てられると、ダイアログボックスが表示され、ユーザーにページの終了を確認するメッセージが表示されます。値を指定しない場合は、イベントが静かに処理されます。

window.addEventListener("beforeunload", (event) => { 
    event.returnValue = null; 
}); 

// is equivalent to 
window.addEventListener("beforeunload", (event) => { 
    event.preventDefault(); 
}); 

のWebKitベースのブラウザがダイアログボックスの仕様に従わない場合があります。ほとんどクロスブラウザ作業例:

window.addEventListener("beforeunload", (event) => { 
    const confirmationMessage = "your message"; 

    event.returnValue = confirmationMessage; 
    return confirmationMessage; 
}); 

NOTE このイベントはvoid以外の値を返した場合、ユーザーは、ページのアンロードを確認するメッセージが表示されます。ほとんどのブラウザでは、このダイアログにイベントの戻り値が表示されます。 Firefox 4以降では、返された文字列はユーザ​​に表示されません。代わりに、Firefoxは独自の定義済みの文字列を表示します。

2011以来、window.alert()window.confirm()、そしてwindow.prompt()メソッドの呼び出しHTML5仕様の状態は、このイベント中に無視することができます。

さまざまなモバイルブラウザでは、イベントの結果が無視されることに注意してください(つまり、ユーザーに確認を求めることはありません)。 Firefoxは、同じことを行うためにabout:configに隠された環境設定を持っています。本質的に、これは、ユーザがドキュメントがアンロードされる可能性があることを常に確認することを意味する。

関連する問題