熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

捕獲浏覽器關閉、刷新事件不同情況下

2013-11-15 12:11:25  來源: JSP教程 

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

  由於浏覽器是無狀態的在這時候捕捉浏覽器關閉會出現兩種情況  真正的關閉浏覽器 (a點擊關閉按鈕 b右擊任務欄關閉 c按alt+F關閉)  刷新浏覽器    那如何判斷區分這兩種動作呢?    一 Javascript代碼處理方法   代碼如下: function windowonbeforeunload()  {  //用戶點擊浏覽器右上角關閉按鈕或是按alt+F關閉  if(eventclientX>documentbodyclientWidth&&eventclientY<||eventaltKey)  {  // alert("點關閉按鈕");  documentgetElementById("hiddenForm:hiddenBtn")click();  // windoweventreturnValue="確定要退出本頁嗎?";  }  //用戶點擊任務欄右鍵關閉s或是按alt+F關閉  else if(eventclientY > documentbodyclientHeight || eventaltKey)  {  // alert("任務欄右擊關閉");  documentgetElementById("hiddenForm:hiddenBtn")click();  // windoweventreturnValue="確定要退出本頁嗎?";  }  //其他情況為刷新  else  {  // alert("刷新頁面");  }  }    其中 eventclientX 鼠標光標X坐標  documentbodyclientWidth 窗體工作區寬度  eventclientY 鼠標光標Y坐標  eventaltKey 是否按下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事件否則返回頁面不做任何操作   
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20460.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.