onbeforeunload与onunload用法(转)

onunload是在页面刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定到用户自定义函数,也可以在body里面指定。
    onbeforeunload是则也是在页面刷新或关闭时调用,不过是在onunload之前执行。它可以阻止onunload的执行。

    onunload和onbeforeunload的区别在于,onbeforeunload是在onunload之前调用的,可以在onbeforeunload指定的函数里面进行一个确认操作,如果确认执行,则页面会执行onunload里面指定的函数,即刷新或关闭页面;如果取消操作,则不会执行onunload指定的函数,也不会进行刷新或关闭页面。这种情况适用于当用户要离开一个网页时使用。下面是一个例子:

<html>
<head>
   <script type="text/javascript">
    function whenUnload()
    {
     alert("触发了onunload");
    }

    function whenBeforeUnload()
    {
     return "确认离开?";               // 这句话显示在确认对话框中
     //alert("触发了onbeforeunload");   // 也可以执行其它逻辑
    }

    //window.onunload       = whenUnload;
    //window.onbeforeunload = whenBeforeUnload;
   </script>
</head>

<body οnbefοreunlοad="return '确认离开';">
   <div>如果body之间什么都没有,那可能不会触发这两个事件。</div>
</body>
</html>

    微软官文网站说,如果正文标记为空,即body标签间没有任何内容,那么Internet Explorer6SP 1不会触发这两个事件,具体可以参考这个链接:http://support.microsoft.com/kb/331869/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值