A JavaScript Fancier

伟大的javascript技术研究中...

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  304 随笔 :: 0 文章 :: 479 评论 :: 0 Trackbacks


当浏览器退出时会触发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> 
<div style="position: absolute; top: 10; right: 10; width: 148; height: 18;cursor:hand"> 
<input type="button" name="Button" value="查看源代码" onClick= 'window.location = "view-source:" + window.location.href'></div> 


第二种做法:
<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>

posted on 2007-09-30 16:23 Yemoo'S JS Blog 阅读(4000) 评论(8)  编辑 收藏 引用 所属分类: javascript技巧总结

评论

# re: 判断浏览器刷新与关闭的代码 2007-10-01 01:22 黑风冷影
不錯,我收藏了,以后有空慢慢研究  回复  更多评论
  

# re: 判断浏览器刷新与关闭的代码 2007-10-16 13:09 不超
正好需要,收藏起来先  回复  更多评论
  

# re: 判断浏览器刷新与关闭的代码 2007-12-26 15:28 阿水
祝愿你身体健康,好运伴您!  回复  更多评论
  

# re: 判断浏览器刷新与关闭的代码 2008-04-19 10:54 yingzi
这段代码只对ie有效,firefox失效呢  回复  更多评论
  

# re: 判断浏览器刷新与关闭的代码 2009-01-27 11:23 河北乐亭
万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!万分感谢!  回复  更多评论
  

# re: 判断浏览器刷新与关闭的代码 2009-04-22 14:39 莫尘
只是正常情况可以.如果在任务栏上右击关闭,是不能实现的  回复  更多评论
  

# re: 判断浏览器刷新与关闭的代码 2009-05-07 14:39 zhangxr
整个网上都是用同样的代码!晕  回复  更多评论
  

# re: 判断浏览器刷新与关闭的代码[未登录] 2009-06-07 15:21 小强
在框架页面就不行了,哎.....  回复  更多评论
  

只有注册用户登录后才能发表评论。