Кто-нибудь знает, как я могу использовать javascript, чтобы проверить, когда окно браузера закрыто, и всплывающее окно с подтверждением, чтобы спросить, подтвердил ли пользователь, выйти из браузера или передумать, чтобы остаться?
Javascript для проверки закрытия окна браузера
Ответ 1
window.onbeforeunload = function (e) {
var e = e || window.event;
//IE & Firefox
if (e) {
e.returnValue = 'Are you sure?';
}
// For Safari
return 'Are you sure?';
};
Ответ 2
Если браузер остается включенным после закрытия страницы, и если браузер обрабатывает событие " onbeforeunload" элемента body (иногда он отключен), и если браузер позволяет всплывающие окна или сообщения ящики и возможность вернуть false из этого события, чтобы предотвратить изменение страницы, тогда это возможно.
В качестве примера начните вводить комментарий на любой странице stackoverflow с включенным Javascript, а затем откройте эту страницу.
Ответ 3
Это сработало для меня:
function closeWin(){
var exit = confirm("Do you want to leave this window?");
if(exit==true){
//do something before closing;
}
}
body onbeforeunload="closeWin()"
Ответ 4
Документация здесь поощряет прослушивание события onbeforeunload
и/или добавление прослушивателя событий на window
.
window.addEventListener('beforeunload', function(e) {}, false);
Вы также можете просто заполнить свойства .onunload
или .onbeforeunload
window
функцией или ссылкой функции.
Хотя поведение не стандартизировано в браузерах, функция может вернуть значение, отображаемое браузером при подтверждении того, оставить ли страницу.
Ответ 5
Это тоже работает, если только для IE8
$(window).bind('beforeunload', function (e) {
// code to execute when browser is closed
e.$.post("func.php", { action: 'action', id_userMsg: '<?php echo $id_user; ?>' });
});