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

3-5 卸载事件(onunload)

<script type="text/javascript">   
     window.onunload = onunload_message;   
     function onunload_message(){   
        alert("您确定离开该网页吗?");   
    }   
</script>
  1.  window.onunload = onunload_message; 是应该没有括号的?但没有括号无论关闭还是刷新也没有弹框,加了括号只有刷新才有弹框(在chrome下)?

  2. 在chrome下如何实现关闭前弹窗?下图是微信关闭前的页面

http://img1.sycdn.imooc.com//576a175f0001310a04480155.jpg


正在回答

4 回答

window.onunload = onunload_message;是没有括号的,意思是关闭窗口的时候执行 onunload_message这个函数。

浏览器包括chrome对onunload和onbeforeunload的支持不是很稳定,刚试了下微信,关的时候也没有提示

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

Werk_Bicth 提问者

谢谢!在网页版与其他人聊天或传输文件之后,关闭页面chrome会有提示
2016-06-24 回复 有任何疑惑可以回复我~
function onunload_message()
{return "返回值" ;
}
window.onbeforeunload = onunload_message();
alert(window.onbeforeonload);


我们的这个window.onbeforeunload = onunload_message;如果最后不加()就是我们要的JS事件触发后,执行右边函数。

如果加了(),意思就是将右边这个函数的返回值赋值给左边的window.onbeforeunload。所以页面一开始就会执行右边的代码将这个值算出来。我的代码后边加了alert,将这个值显示出来证明了我的说法。


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


function onunload_message()

{return "返回值" ;

}

window.onbeforeunload = onunload_message();

alert(window.onbeforeonload);

我们的这个window.onbeforeunload = onunload_message;如果最后不加()就是我们要的JS事件触发后,执行右边函数。

如果加了(),意思就是将右边这个函数的返回值赋值给左边的window.onbeforeunload。所以页面一开始就会执行右边的代码将这个值算出来。我的代码后边加了alert,将这个值显示出来证明了我的说法。


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

兼容的问题

0 回复 有任何疑惑可以回复我~

window.onbeforeunload = onunload_message;

function onunload_message() {

alert("您确定离开该网页吗?");

return "您确定离开该网页吗?" ;

}

试试这个


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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       469022    人
  • 解答问题       22582    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

3-5 卸载事件(onunload)

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号