<!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>
对了,调试时记得把go方法里面的//符号给去掉哈
不知道你是否解决问题了,按照我的思路如下:
卸载事件通俗的讲,就是离开当前网页时候会触发,离开当前网页有两种方式,
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 = "真的要退出吗?";你可以试下效果
有时浏览器会限制执行javascript
这个是关闭页面才执行的