Chinaunix首页 | 论坛 | 博客
  • 博客访问: 484115
  • 博文数量: 67
  • 博客积分: 2952
  • 博客等级: 少校
  • 技术积分: 679
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-24 10:50
文章分类

全部博文(67)

文章存档

2011年(9)

2010年(36)

2009年(8)

2008年(5)

2007年(5)

2006年(4)

我的朋友

分类: Java

2010-05-10 15:29:15

当浏览器退出时会触发onunload事件,因此我们可以使用onunload事件做一些在页面关闭时要执行的操作,如提示用户信息等。但或许在实际应用中我们都发现一个问题,刷新浏览器同样会触发onunload事件,也就是只要是离开该页面就会触发onunload事件,或许刷新时我们并不想执行 onunload定义的操作,或者我们只想在刷新时执行某操作,这样我们就遇到了一些麻烦。
本以为这种问题没有什么解决办法,没想到还是有牛人用很牛的办法解决了这个办法,这里俺就把找到的两段代码共享出来,希望对正好需要解决此问题朋友有所帮助。

方法一:
<HTML> 
<HEAD> 
<TITLE>判断是刷新还是关闭-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>
阅读(507) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~