页面加载时只执行onload
页面关闭时只执行onunload
页面刷新时先执行onbeforeunload,然后onunload,最后onload。这样我们可以在onbeforeunload中加一个标记,在onunload中判断该标记,即可达到判断页面是否真的关闭了。
<html>
<head>
<title>判断页面是关闭还是刷新</title>
</head>
<body onunload="fclose()" onload="fload()" onbeforeunload="bfunload()">
<script language="javascript">
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>
刷新或关闭页面都会触发onbeforeunload和onunload事件,浏览器没有提供这样的接口来判断是刷新或关闭。不过有一个不怎么靠谱的办法,就是在onbeforeunload和onunload
回调函数
里面判断鼠标的位置是不是负数,如果是的话,也许就是点了关闭按钮,否则的话也许是按了F5。
我想不到其他办法了