ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript がブラウザの終了とイベント キャプチャ コードを決定する方法の詳細な説明

JavaScript がブラウザの終了とイベント キャプチャ コードを決定する方法の詳細な説明

伊谢尔伦
伊谢尔伦オリジナル
2017-07-24 09:58:263972ブラウズ

ブラウザはステートレスであるため、この時点でブラウザの終了をキャプチャする場合は 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 サイトの他の関連記事を参照してください。

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