ブラウザはステートレスであるため、この時点でブラウザの終了をキャプチャする場合は 2 つの状況が考えられます。
1. ブラウザを実際に閉じます (a. 閉じるボタンをクリックします。 b. タスクバーを右クリックして閉じます。 c. ブラウザを閉じます。) alt+F4 を押して閉じます)
2. ブラウザを更新します。
それでは、これら 2 つのアクションをどのように判断して区別するのでしょうか?
JavaScript コードの処理メソッド:
function window.onbeforeunload() { //用户点击浏览器右上角关闭按钮或是按alt+F4关闭 if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) { // alert("点关闭按钮"); document.getElementById("hiddenForm:hiddenBtn").click(); // window.event.returnValue="确定要退出本页吗?"; } //用户点击任务栏,右键关闭。s或是按alt+F4关闭 else if(event.clientY > document.body.clientHeight || event.altKey) { // alert("任务栏右击关闭"); document.getElementById("hiddenForm:hiddenBtn").click(); // window.event.returnValue="确定要退出本页吗?"; } //其他情况为刷新 else { // alert("刷新页面"); } }
ここで、event.clientX はマウス カーソルの X 座標です
document.body.clientWidth はフォームの幅ですworkspace
event.clientY はマウスカーソルの Y 座標です
event.altKey alt キーが押されたかどうか
イベントキャプチャ方法:
<body scroll="no" onbeforeunload="return CloseEvent();" onunload="UnLoadEvent()" > </body> <script language="JavaScript" type="text/javascript"> var DispClose = true; function CloseEvent() { if (DispClose) { return "是否离开当前页面?"; } } function UnLoadEvent() { DispClose = false; //在这里处理关闭页面前的动作 } </script>
ユーザーが「はい」を選択すると、ページがアンロードされる前に onbeforeunload イベントがトリガーされます。 、ページがアンロードされると onunload イベントがトリガーされることが決定され、それ以外の場合は戻りページは何も操作しません。
以上がJavaScript がブラウザの終了とイベント キャプチャ コードを決定する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。