JavaScript中的onunload不能用不被触发的解决办法

作者: pengpeng 分类: 所有文章 发布时间: 2017-10-11 09:40

JavaScript中的onunload不能用不被触发的解决办法

今天学习JavaScript中的onunload事件,然后自己开始试一下效果,大概按照在w3school中看的,写了一下代码,发现并没有什么卵子用,我刚开始写的代码如下:

<script>
window.onunload=function(event){
alert("你真的要关闭此网页吗?");
}
</script>

测试结果: 正常关闭无提示
测试1,正常关闭
后来我就去百度了一下,csdn上面说,用onbeforeunload来替换onunload,后来出现了这个代码

<script>
window.onbeforeunload=function(event){
alert("你真的要关闭此网页吗?");
}
</script>

还是没有效果,效果图就不上了
后来才知道,onunload和onbeforeunload都是在页面关闭时销毁页面,而alert()语句,已经被销毁,所以不再执行,直接跳过,可以看下面的图:
跳过alert语句
图上,当页面执行到onbeforeunload的时候,直接就结束了这个函数,没有执行alert()语句
那怎么解决不弹出的问题的,我们再试一个语法:event.teturnValue

event.teturnValue:当捕捉到事件(event)时,判断为false,则阻止当前事件继续运行

onunload结合event.teturnValue

<script>
window.onunload=function(event){
event.returnValue = false;
}
</script>

结果:无效果
onbeforeunload结合event.teturnValue

<script>
window.onunload=function(event){
event.returnValue = false;
}
</script>

结果:当页面关闭时弹出框框
最终结果

在线预览地址:点我预览

html文件下载:

  JavaScript中的onunload不能用的解决办法.html (220 字节, 33 次)

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

一条评论
  • tomczhang

    2018年2月6日 上午11:30

    可以,赞一个

发表评论

电子邮件地址不会被公开。 必填项已用*标注