Onunload与Onbeforeunload

原创 2007年09月23日 12:27:00
  Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。

    Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。曾经做一个考试系统,涉及到防止用户半途退出考试(有意或者无意),代码如下:
<body onbeforeunload=" checkLeave()">
<script>
function checkLeave(){
    event.returnValue
="确定放弃考试?(考试作废,不记录成绩)";
}
</script>
这样可以让用户确认是否要退出考场,其实BLOGJAVA在用户编写BLOG时,如果不保存而跳转到其他页面,也会有一个确认的提示(防止误操作),也是用到Onbeforeunload。

   另外还可以用来在页面关闭的时候关闭session,代码如下(注:用window.screenLeft > 10000 来区分关闭和刷新操作):
<body onbeforeunload=" closeSession()">
<script>
function closeSession (){
    
//关闭(刷新的时候不关闭Session)
    if(window.screenLeft>10000){
       
//关闭Session的操作(可以运用AJAX)
    }
}
</script> 
 

Onunload,onbeforeunload作用,调用时机

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于onbeforeunload在onunload之前执行,...
  • xufei512
  • xufei512
  • 2017年03月30日 10:18
  • 461

onunload、onbeforeunload事件兼容问题详解

最近项目中做到一个功能:在上传页面用户开始上传文件之后用户点击任意跳转都需要弹出提示层进行二次确定才允许他进行跳转,这样做的目的是为了防止用户的错误操作导致这珍贵的UGC 流失(通常用户在一次上传不成...
  • lisai17
  • lisai17
  • 2015年09月21日 09:49
  • 2757

获取页面离开onbeforeunload与onunload事件的返回值

获取页面离开onbeforeunload与onunload事件的返回值 在各种项目开发的过程中,页面离开事件onbeforeunload是我们经常要用到的,可以避免用户操作失误,给用户一个选...
  • jfkidear
  • jfkidear
  • 2015年08月20日 16:57
  • 681

js离开页面执行函数 onbeforeunload与onunload事件

在最近的项目中,需要做到一个时间,就是用户离开页面的时候,我需要缓存页面其中一部分的内容,但是我不需要用户刷新的时候也缓存,我只希望在我用户离开的时候执行这个函数。百度之,有onbeforeunloa...
  • ityang521
  • ityang521
  • 2017年07月25日 15:34
  • 906

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

Onunload与Onbeforeunload  Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于...
  • binyao02123202
  • binyao02123202
  • 2013年07月10日 18:10
  • 30429

获取onbeforeunload的返回结果,在检测到取消离开页面后执行操作

检测onbeforeunload返回结果,在检测到取消离开页面后执行操作 有时候,我们需要知道我们在window.onbeforeunload中点的确定还是取消。 当用户点取消的时候我们要执行一些操作...
  • liusaint1992
  • liusaint1992
  • 2015年11月05日 00:27
  • 3975

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

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过 window.onunload来指定或者在里指定。区别在于onbeforeunload在onunload之前执行...
  • vstar283551454
  • vstar283551454
  • 2013年03月11日 10:56
  • 5262

小程序中的生命周期onHide和onUnload

onHide:监听页面的隐藏 当从当前A页跳转到其他页面,那么A页面处于隐藏状态。 onUnload:监听页面的卸载 当前处于A页面,点击返回按钮时,则将是A页面卸载、 利用这两个生命周期可以解决的问...
  • hhf235678
  • hhf235678
  • 2017年12月08日 11:39
  • 189

对于同个页面引入不同js文件中重写window.onbeforeunload方法的总结

最近一个客户需求在当前浏览器标签中刷新页面后维持之前的显示状态,非本标签刷新不需要维持这种显示状态。我想到当当前页面刷新时会触发onbeforeunload事件,所以我就重写了window.onbef...
  • u011754928
  • u011754928
  • 2014年08月14日 16:52
  • 754

onbeforeunload事件被a链接触发的问题

onbeforeunload本身并非W3C DOM-Event标准事件,只不过在很多时候国内的流氓做法就是离开页面,直接弹出收藏本网页的提示(虽然我很讨厌这种做法,但事实上很多公司一直都在这样默默地强...
  • yw1688
  • yw1688
  • 2016年06月14日 15:14
  • 430
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Onunload与Onbeforeunload
举报原因:
原因补充:

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