捕獲瀏覽器關閉、重新整理事件不同情況下

來源:互聯網
上載者:User

 在做一些關於會員線上的問題時,往往我們要根據覽器是否關閉來判斷使用者是否下線,然後再從session和application中將此使用者移除。 

 由於瀏覽器是無狀態的,在這時候捕捉瀏覽器關閉會出現兩種情況: 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事件,否則返回頁面不做任何操作。  
相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。