为了账号安全,请及时绑定邮箱和手机立即绑定

window.onunload = onunload_message;

window.onunload = onunload_message;和window.onunload = onunload_message();有什么区别,不是说onunload事件是用户退出页面时触发吗,我关闭网页没没有反应,求解求解

正在回答

1 回答

课程里提到不同浏览器对于onunload事件支持不同。对于你提到的这个例子,我在chrome下直接运行也是没有反应,但是同样的HTML代码文档,用ie(edge)打开刷新可以看到效果。这里我觉得应该是先定义一个处理函数onunload_message(),然后把他赋值给window.onunload,更准确的做法应该是window.onunload = onunload_message(),因为在javascript里面函数是被看做一个对象的。我改成后者在chrome里面也能实现效果了。

1 回复 有任何疑惑可以回复我~
#1

qq_梦与现实的距离_0 提问者

我之前也试了你说的后面的那个但它是在一打开页面就弹出了提示框,不是关闭页面时弹出
2016-11-05 回复 有任何疑惑可以回复我~
#2

qq_梦与现实的距离_0 提问者

难道这次又是慕课自己的问题,本来就应该是onunload_message()
2016-11-05 回复 有任何疑惑可以回复我~
#3

Muix 回复 qq_梦与现实的距离_0 提问者

不好意思我重新确认了一下,不是edge,是ie8,9(internet explorer),会提示你是否允许运行脚本,然后刷新有效果,关闭没有效果。用带()的对象类型的话chrome打开时弹框,刷新时弹框,关闭时不弹框。搜了一下有人说是alert()事件被锁定销毁了,还有涉及异步通信的问题之类的现在看不太懂。
2016-11-06 回复 有任何疑惑可以回复我~
#4

qq_梦与现实的距离_0 提问者 回复 Muix

好的,谢谢
2016-11-06 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

window.onunload = onunload_message;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信