页面加载时只执行onload
页面关闭时只执行onunload
页面刷新时先执行onbeforeunload,然后onunload,最后onload。
示例:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js判断页面关闭,刷新,加载</title>
<meta name="keywords" content="js判断页面关闭,刷新,加载" />
<meta name="description" content="js判断页面关闭,刷新,加载" />
<script type="text/javascript">
window.onload = function() {
alert('页面加载 执行了 window.onload');
}
window.onunload = function() { alert('页面关闭 执行了 window.onunload'); }
window.onbeforeunload = function() {
alert('页面刷新时 先执行 onbeforeunload');
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth - 20;
if (b && window.event.clientY < 0 || window.event.altKey) {
alert("是关闭而非刷新");
//window.open(this.location);
favorate();
window.event.returnValue = "";
return false;
} else {
alert("是刷新而非关闭");
}
}
//添加收藏夹
function favorate() {
if (confirm("提示:恭喜您加载了页面")) {
window.external.AddFavorite('http://www.hellbear.com', '黑贝儿网站')
}
}
</script>
</head>
<body>
<h1> js判断页面关闭,刷新,加载</h1>
如何捕捉到页面关闭呢?<br />
页面加载时只执行onload<br />
页面关闭时只执行onunload<br />
页面刷新时先执行onbeforeunload,然后onunload,最后onload。<br />
这样我们可以在onbeforeunload中加一个标记,在onunload中判断该标记,即可达到判断页面是否真的关闭了。<br />
</body>
</html>