短い回答:いいえ。
長い回答: Javascriptはアンロード時(またはそれ以前)のコールバックを待つことはできません。イベントが返された場合、ページはアンロードされます。そのことを念頭に置いて、カスタム確認ボックスは常にユーザーとのやりとりを待つ必要があり、これはブロックできません。したがって、Impromptu(または他のプラグインであれば)は、ページがアンロードされるのを防ぐことができません。ネイティブ関数(アラート、確認、XMLHttpRequestなど)には例外があります。これらはブロックされているか、ブロックされている可能性があります。
The Mozilla docs近代的なブラウザでも、ダイアログボックスの作成が妨げられることがあります(window.onbeforeunload
)。私はクロームであなたの機能をテストする場合、それは、ダイアログ作成:
偽
確認ナビゲーションを
あなたがこのページを残してもよろしいですか?これは以下のようにボックスを作成します
window.onbeforeunload = function() {
return "There is more to see on this site!";
};
:
確認ナビゲーション
このサイトで見ることがよりあり
あなたができる最善のようなものがあります!
本当にこのページからおきたいですか?
ページのリロード時に何かできることは、ページがリロードされた後、新たにリクエストされたページにある場合のみです。
注:onbeforeunloadイベントを使用することを強くお勧めします。これは、ページを閉じる前にクリックする必要がある余分なポップアップをユーザに抱かせるものです。私はサイトがそれを私にするときには本当に嫌いです、それは迷惑メールのように感じます。