2016-04-05 6 views
0

ページをリロードする際に、確認ボックスとしてImpromptuアラートボックスを使用します。 今、私はこの通常のjavascriptを使用しています。私はもはやこれを使用したいしかし確認アラートとしてImpromptuを使用する方法

window.onbeforeunload = function(event) { 
    return confirm("Confirm refresh"); 
}; 

ので、ページのリロードの即興確認ボックスをロードするチャンスはありますか?

ありがとうございます。

答えて

0

短い回答:いいえ。

長い回答: Javascriptはアンロード時(またはそれ以前)のコールバックを待つことはできません。イベントが返された場合、ページはアンロードされます。そのことを念頭に置いて、カスタム確認ボックスは常にユーザーとのやりとりを待つ必要があり、これはブロックできません。したがって、Impromptu(または他のプラグインであれば)は、ページがアンロードされるのを防ぐことができません。ネイティブ関数(アラート、確認、XMLHttpRequestなど)には例外があります。これらはブロックされているか、ブロックされている可能性があります。

The Mozilla docs近代的なブラウザでも、ダイアログボックスの作成が妨げられることがあります(window.onbeforeunload)。私はクロームであなたの機能をテストする場合、それは、ダイアログ作成:

確認ナビゲーションを

あなたがこのページを残してもよろしいですか?これは以下のようにボックスを作成します

window.onbeforeunload = function() { 
    return "There is more to see on this site!"; 
}; 

確認ナビゲーション

このサイトで見ることがよりあり

あなたができる最善のようなものがあります!

本当にこのページからおきたいですか?

ページのリロード時に何かできることは、ページがリロードされた後、新たにリクエストされたページにある場合のみです。

注:onbeforeunloadイベントを使用することを強くお勧めします。これは、ページを閉じる前にクリックする必要がある余分なポップアップをユーザに抱かせるものです。私はサイトがそれを私にするときには本当に嫌いです、それは迷惑メールのように感じます。

関連する問題