为啥ie我本地试也没效果赛,为什么不用加括号成 window.onunload = onunload_message();

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

慕运维0124838

2015-09-21 18:48

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title> 卸载事件 </title>

<script type="text/javascript">   

     window.onunload = onunload_message;   

     function onunload_message(){   

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

    }   

</script>   

</head>

<body>

  欢迎学习JavaScript。

</body>

</html>


写回答 关注

4回答

  • 慕用7027161
    2015-11-21 19:54:12

    对了,调试时记得把go方法里面的//符号给去掉哈

  • 慕用7027161
    2015-11-21 19:52:36

    不知道你是否解决问题了,按照我的思路如下:

    卸载事件通俗的讲,就是离开当前网页时候会触发,离开当前网页有两种方式,
    1.像平常我们关闭网页,也就是离开网页了;2.在当前网页点击加载其他网页,跳转到其他网页,也是离开当前网页的一种;
    onunload属于第2种,只有当你要跳转到另一个页面时,也就是要离开当前网页了,要跳转到另一个网页了,onunload才会被触发;
    那平常时关闭网页就直接跳出一个对话框是怎么办到的?原来还有一个onbeforeunload,顾名思义,就是在onunload被执行之前,就被调用,无论是以上2种跳转方法中的哪种,onbeforeunload都会被触发。

    应该不难理解了吧?给你贴个代码

    <html>

    <head>

    <title>test close window</title>

    <script type="text/javascript"> 


    function jump(){


        alert("我要跳转了哈!!");

    }


    function go(){

     //alert("离开么?");

    </script>

    </head>


    <body  onunload="jump(); " onbeforeunload="go();">

    <h1>hello world</h1>

    <a href="http://www.baidu.com">heloo </a>

    </body>

    </html>


    如果要做成我们平时浏览网页的关闭效果,就在go方法里把alert("离开么?")换成event.returnValue = "真的要退出吗?";你可以试下效果


  • 慕运维0953799
    2015-11-04 11:26:04

    有时浏览器会限制执行javascript

  • qq_ThankGod_0
    2015-10-22 17:19:46

    这个是关闭页面才执行的

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题