3-5 卸载事件(onunload)

来源:6-10 卸载事件(onunload)

Werk_Bicth

2016-06-22 12:46

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

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

http://img.mukewang.com/576a175f0001310a04480155.jpg


写回答 关注

5回答

  • atdoog
    2016-06-22 16:08:43
    已采纳

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

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

    Werk_B...

    谢谢!在网页版与其他人聊天或传输文件之后,关闭页面chrome会有提示

    2016-06-24 11:31:15

    共 1 条回复 >

  • 慕粉18764815087
    2016-07-29 12:11:24
    function onunload_message()
    {return "返回值" ;
    }
    window.onbeforeunload = onunload_message();
    alert(window.onbeforeonload);


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

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


  • 慕粉18764815087
    2016-07-29 12:10:33


    function onunload_message()

    {return "返回值" ;

    }

    window.onbeforeunload = onunload_message();

    alert(window.onbeforeonload);

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

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


  • dz64182
    2016-06-22 16:39:38

    兼容的问题

  • atdoog
    2016-06-22 16:26:44

    window.onbeforeunload = onunload_message;

    function onunload_message() {

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

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

    }

    试试这个


JavaScript进阶篇

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

468782 学习 · 22507 问题

查看课程

相似问题