1

我有一个带有母版页的网站。我想抓住一个试图关闭浏览器/标签的用户。当我尝试在 body 标记中使用 onunload 时,它不仅会在我尝试关闭浏览器时触发,还会在我导航到另一个页面时触发。

知道如何仅捕获关闭浏览器的事件吗?

4

1 回答 1

1

您无法区分关闭浏览器和导航到另一个页面。在这两种情况下,当前页面都会被卸载。

更新:也许您可以使用一些 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>
于 2011-06-09T10:11:43.843 回答