Javascript для проверки закрытия окна браузера

Кто-нибудь знает, как я могу использовать javascript, чтобы проверить, когда окно браузера закрыто, и всплывающее окно с подтверждением, чтобы спросить, подтвердил ли пользователь, выйти из браузера или передумать, чтобы остаться?

Ответ 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; ?>' });      

    });