Есть ли способ определить, когда пользователь покидает страницу, независимо от того, закрыл ли он браузер, ввел ли новый адрес в адресную строку, щелкнул ссылку, которая перенаправляет на другой домен и т. Д.?
Основной целью этого было бы выполнение некоторых действий, таких как:
- синхронизация с сервером некоторых данных, которые находятся на стороне клиента
- очистка сеанса сервера
Я пытался с событиями unload и beforeunload окна и читал другие вопросы, такие как: Лучший способ определить, когда пользователь покидает веб-страницу? // Есть ли способчтобы узнать, что пользователь покидает страницу с asp.net?, но я не нашел ответа, которого ожидал.
Вот упрощенный фрагмент js, чтобы понять, что я пытался:
window.onunload = function(){
if (theConditionThatINeed){
doThings();
SyncWithServerAndAbandonSession(url, localObjects);
}
else {
doNothing();
}
}
Я не хочу отображать какие-либо подтверждения до того, как пользователь уйдет, поэтому я думаю, что onbeforeunload мне здесь не поможет.
Предположим, что ответэто "нет никакого способа сделать стакая вещь ", какова была бы рекомендуемая практика для выполнения синхронизации и очистки сеанса, которую я хочу?
Основной браузер, который я поддерживаю, это IE> = 7