首頁 >web前端 >js教程 >javascript如何判斷瀏覽器關閉和事件捕捉程式碼詳解

javascript如何判斷瀏覽器關閉和事件捕捉程式碼詳解

伊谢尔伦
伊谢尔伦原創
2017-07-24 09:58:264031瀏覽

由於瀏覽器是無狀態的,在這時候捕捉瀏覽器關閉會出現兩種情況: 

1.真正的關閉瀏覽器(a.點擊關閉按鈕b.右鍵關閉c.按alt+F4關閉)
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 窗體工作區寬度
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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn