我有一个带有母版页的网站。我想抓住一个试图关闭浏览器/标签的用户。当我尝试在 body 标记中使用 onunload 时,它不仅会在我尝试关闭浏览器时触发,还会在我导航到另一个页面时触发。
知道如何仅捕获关闭浏览器的事件吗?
我有一个带有母版页的网站。我想抓住一个试图关闭浏览器/标签的用户。当我尝试在 body 标记中使用 onunload 时,它不仅会在我尝试关闭浏览器时触发,还会在我导航到另一个页面时触发。
知道如何仅捕获关闭浏览器的事件吗?
您无法区分关闭浏览器和导航到另一个页面。在这两种情况下,当前页面都会被卸载。
更新:也许您可以使用一些 jquery 处理某些情况,即每当单击链接时,设置一些标志以区分它与关闭窗口或输入新 URL:
<body onunload="checkForClose()">
...
<script>
var _isNavigation = false;
$(document).ready(function () {
// whenever a link is clicked set _isNavigation to true
$('a').click(function () {
_isNavigation = true;
});
});
function checkForClose() {
// show an alert if _isNavigation is not set
if (!_isNavigation) alert("closing the browser (maybe)");
}
</script>