<body>标签只有onload/onunload/onbeforeunload事件,而没有onclose事件。不管页面是关闭还是刷新都会执行onunload事件。如何捕捉到页面关闭呢?
页面加载时只执行onload
页面关闭时只执行onunload
页面刷新时先执行onbeforeunload,然后onunload,最后onload。这样我们可以在onbeforeunload中加一个标记,在onunload中判断该标记,即可达到判断页面是否真的关闭了。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>
<body onunload=fclose() onload=fload() onbeforeunload=bfunload()>
<script>
var s = "test";
function fclose()
{
if(s=="no")
alert('unload me!='+s+'这是刷新页面!');
else
alert('这是关闭页面');
}
function fload()
{
alert("load me!="+s);
}
function bfunload()
{
s = "no";
}
</script>
</body>
</html>
20051206更新
感谢提出的回复,的确后来我也发现了这个问题,真正能判断这个的方法我还没有找到。
博客围绕HTML中<body>标签的事件展开,指出其有onload、onunload、onbeforeunload事件但无onclose事件。介绍了页面加载、关闭、刷新时各事件的执行顺序,并给出通过在onbeforeunload加标记、在onunload判断标记来判断页面是否关闭的方法,不过作者表示还未找到真正有效的判断方法。
4320

被折叠的 条评论
为什么被折叠?



