ホームページ  >  記事  >  ウェブフロントエンド  >  ユーザーが window.onbeforeunload_javascript をクリックしたときのキャンセル イベントのキャプチャについて

ユーザーが window.onbeforeunload_javascript をクリックしたときのキャンセル イベントのキャプチャについて

WBOY
WBOYオリジナル
2016-05-16 18:09:371294ブラウズ

ユーザーが「キャンセル」をクリックしたときの検出
ユーザーが「キャンセル」をクリックしたときに通知を受けて、ページのアンロードを中止することもできます。残念ながら、すぐに通知を受ける方法はありません。最善の方法は、「onbeforeunload」イベントに一意のグローバル変数を設定し、その変数が他の関数に設定されているかどうかを確認することです。ユーザーがページのアンロードを中止したことを直ちに通知する方法はありません。
「onbeforeunload」ダイアログの例を実行するために上で使用したコード例は次のとおりです。以下のように:

var _isset=0; function Demon() { window.onbeforeunload = function () { if (_isset==0) { _isset=1; // これは、ユーザーがキャンセルした場合にのみ他の場所で表示されます。
return "これはデモンストレーションです。どのオプションを選択してもページから離れることはできません。";
}
}
_isset=0;
window.location.reload();
false を返します。
}


このコードは、_isset という名前のグローバル変数を定義し、それをゼロに初期化します。 「onbeforeunload」イベントでは変数がチェックされ、変数が 1 に設定されている場合、アンロード ダイアログ ボックスは表示されません。 _isset が 1 になる唯一の方法は、ユーザーが以前にページのアンロードを中止した場合です。

しかし、ご覧のとおり、ユーザーが確認ボックスの処理を終了したことをすぐに通知する必要がある場合、このメソッドは役に立ちません。いつ画面に表示されるかは検出できますが、ユーザーが「キャンセル」をクリックした場合にその操作がいつ終了したかを知る方法はありません (ユーザーが「OK」をクリックした場合は、当然、アンロード イベントがトリガーされます)。
----------------------------------------------- ---------------
虽然如是,但还有高手给出如下代码 ^^



复制代码


代码如下:
"http://www. w3.org/TR/html4/strict.dtd">
アンロードテスト前



アンロードテスト前










复制代

代码如下:

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。