已经测试完评论里面的onunload和onbeforeunload,但是结果有些出入,求大神指导一下。

<!DOCTYPE HTML>

<html>

<head>

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

<title> 卸载事件 </title>

<script type="text/javascript">   

     window.onbeforeunload = onbeforeunload_message;//①目前试了Firefox、Google Chrome、IE三个浏览器,该事件只对IE起作用。


//②onunload事件对于刷新页面和超链接跳转其他页面情况有效,对于关闭页面无效。


//③onbeforeunload事件才对关闭页面有效。对刷新和链接跳转其他网页的情况一样有效。


//④window.onunload = onunload_message后面不需要加()。如果有人不管加没加(),都在页面跳转和刷新时弹不出提示框,是因为IE限制了网页运行脚本或ActiveX控件,点击“允许阻止的内容”,再刷新和跳转就可以看到效果了。


//⑤加了()的,在页面一打开就会弹出提示框,这个不是我们要实现的效果。

     function onbeforeunload_message(){   

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

    }   

</script>   

</head>

<body>

  欢迎学习JavaScript。

  <p>经本人测试,onload事件对IE有效,但是刷新页面和关闭页面有效,而链接去其他网页无效,不知道哪里出现问题,导致结论不相同,另外,onload事件是你刷新之后(或者关闭页面之后)才出现提示,而onbeforeunload事件才是关闭之前提示,确定之后才关闭网页,这两个事件对链接去其他网页都不起作用。</p>

  <p>测试第四和第五条都正确。</p>

  <p>对于结果不同之处,求大神指导一下</p>

  <a href="img/0.png" target="_blank">点击这里</a>

</body>

</html>


零度GV
浏览 2153回答 1
1回答

OlderSkee

onunload 网页卸载了之后onbeforeunload 网页卸载了之前onunload 如果你只有一个当前网页,那么关了之后浏览器就关了 是不会弹窗的 。反之 onbeforeunload  是在你点关闭之前就弹窗确认<!DOCTYPE HTML><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />    <title>onbeforeunload测试</title>    <script>        function checkLeave(){            event.returnValue="确定离开当前页面吗?";        }            </script></head><body onbeforeunload="checkLeave()"></body></html>//测试下面这个记得多开一个网页<!DOCTYPE HTML><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />    <title>onunload测试</title>    <script>        function checkLeave(){            alert("欢迎下次再来!");        }    </script></head><body onunload="checkLeave()">   </body></html>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript