关闭窗体事件-onbeforeunload事件

原创 2006年06月06日 12:34:00

注:三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。

用法:

  • object.onbeforeunload = handler
  • <element onbeforeunload = “handler” … ></element>

描述:
事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。
handler可以设一个返回值作为该对话框的显示文本。

触发于:

  • 关闭浏览器窗口
  • 通过地址栏或收藏夹前往其他页面的时候
  • 点击返回,前进,刷新,主页其中一个的时候
  • 点击 一个前往其他页面的url连接的时候
  • 调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
  • 当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。
  • 重新赋予location.href的值的时候。
  • 通过input type=”submit”按钮提交一个具有指定action的表单的时候。

可以用在以下元素:
BODY, FRAMESET, window

平台支持:
IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+

<script language="javascript">
var g_blnCheckUnload = true;
function RunOnBeforeUnload() {
if (g_blnCheckUnload) {window.event.returnValue = 'You will lose any unsaved content';
}
}
function turnToOtherPage(){
g_blnCheckUnload = false;
//在此处添加你自己需要处理的方法,或页面跳转的连接
g_blnCheckUnload = true;
}
</script>
<body onbeforeunload="RunOnBeforeUnload()">
<input type="button" name="TrampEagle" value="TurnToPage" onclick="turnToOtherPage()">
</body>

 

<script language="javascript">
  g_blnCheckUnload = true;
  function RunOnBeforeUnload() {
     if (g_blnCheckUnload) {window.event.returnValue = 'You will lose any unsaved content';  
     } 
  }
</script>
<body  onbeforeunload="RunOnBeforeUnload()">
</body>
这样每次关闭浏览器窗口或涮新页面时,都要触发onbeforeunload这个事件,这样可以对用户进行提示,避免不必要的遗憾。

 

<script  language=javascript>  
function  window.onbeforeunload()  
{  
   if(event.clientX>document.body.clientWidth&&event.clientY<0  ¦  ¦event.altKey)  
   {  
       var  xmlhttp  =  new  ActiveXObject("Microsoft.XMLHTTP");  
       xmlhttp.open("GET","sessionEnd.asp",false);  
       xmlhttp.send();  
     }  
}  
</script>

相关文章推荐

JS监听关闭浏览器事件之Onunload与Onbeforeunload

Onunload与Onbeforeunload  Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于...

使用onbeforeunload事件检测窗口是否刷新或关闭

onunload,onbeforeunload 在页面刷新或关闭时调用,区别在于: onbeforeunload 是在页面刷新或关闭前触发,这时浏览器并未请求服务器读取新页面,因此onbeforeun...
  • fdipzone
  • fdipzone
  • 2013年10月26日 10:27
  • 21633

研究区分onbeforeunload事件是刷新还是关闭

一、原因最近公司的一个web项目需要在关闭网页窗口的时候对一些资源做处理,必须判断是刷新还是关闭,这很苦逼,造成必须做判断的问题是由miniUI的一个实时编辑grid控件引起的,因为表格控件在编辑,新...

用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于onbeforeunload在onunload之前执行,...

domino中页面刷新和关闭事件(js)的捕捉(onbeforeunload方法)

项目原来有一个功能,用户点击退出时会记录用户的注销情况,但是如果用户使用各种方法关闭浏览器的话就没有办法捕捉。为了实现这个功能,我从网上找了很多资料,不过都没有实现,最后用了一个折中的办法实现。 既...

关于监控窗口是否关闭的onbeforeunload与onunload事件

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过 window.onunload来指定或者在里指定。区别在于onbeforeunload在onunload之前执行...

用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定 Onunload,onbeforeunload都是在刷...

Windows 窗体启动和关闭的事件顺序

对于关注对 Windows 窗体应用程序中引发的每个事件按次序进行处理的开发人员来说,事件引发的顺序特别重要。当某种情况需要小心处理事件时(如重绘窗体的某些部分时),必须知道事件在运行时的确切引发顺序...

窗体传值 委托与事件的比较

  • 2014年09月22日 21:17
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关闭窗体事件-onbeforeunload事件
举报原因:
原因补充:

(最多只允许输入30个字)