поймать закрыть браузер с помощью функции onunload, используя главную страницу в ASP.NET - PullRequest
1 голос
/ 09 июня 2011

У меня есть сайт с главной страницей. Я хочу поймать пользователя, пытающегося закрыть браузер / вкладку. Когда я пытаюсь использовать onunload в теге body, он срабатывает не только при закрытии браузера, но и при переходе на другую страницу.

Есть идеи, как отловить только событие закрытия браузера?

1 Ответ

1 голос
/ 09 июня 2011

Вы не можете отличить закрытие браузера от перехода на другую страницу. В обоих случаях текущая страница выгружается.

обновление: возможно, вы можете справиться с некоторыми случаями с помощью некоторого 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>
...