如何运用onunload事件判断浏览器是刷新还是关闭窗口

来源:互联网 发布:淘宝评论怎么删除好评 编辑:程序博客网 时间:2024/06/14 23:53
当浏览器退出时会触发onunload事件,因此我们可以使用onunload事件做一些在页面关闭时要执行的操作,如提示用户信息等。但或许在实际应用中我们都发现一个问题,刷新浏览器同样会触发onunload事件,也就是只要是离开该页面就会触发onunload事件,或许刷新时我们并不想执行onunload定义的操作,或者我们只想在刷新时执行某操作,这样我们就遇到了一些麻烦。
       下面就把找到的两段代码共享出来,希望对正好需要解决此问题朋友有所帮助。


方法一:
<HTML> 
       <HEAD> 
              <TITLE>判断是刷新还是关闭-www.51windows.Net</TITLE> 
              <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
              <META NAME="Author" CONTENT="51windows,海娃,haiwa"> 
              <META NAME="Description" CONTENT="Power by 51windows.Net"> 
       </HEAD> 

       <script> 
              function CloseOpen(event) { 
                     if(event.clientX<=0 && event.clientY<0) { 
                            alert("关闭"); 
                     } 
                     else 
                     { 
                            alert("刷新或离开"); 
                     } 
              } 
       </script> 
       <body onunload="CloseOpen(event)"> 
       </BODY>
</HTML>

第二种做法:
<script language="javascript"> 
       window.onbeforeunload = function() //author: meizz 
       { 
              var n = window.event.screenX - window.screenLeft; 
              var b = n > document.documentElement.scrollWidth-20; 
              if(b && window.event.clientY < 0 || window.event.altKey) 
              { 
                     alert("是关闭而非刷新"); 
                     window.event.returnValue = ""; //这里可以放置你想做的操作代码 
              } 
       }
</script>
原创粉丝点击