Как захватить событие закрытия браузера? - PullRequest
15 голосов
/ 08 июля 2011

Я хочу захватить событие закрытия браузера в моем приложении и показать пользователю окно подтверждения.Я использую JSF 2.0 и richfaces 4.0.

Ответы [ 4 ]

17 голосов
/ 08 июля 2011
window.onbeforeunload = function () 
{
  var shallIAlertUser = Do_Whatever(); //get boolen value
  if (shallIAlertUser) {
    //this will alert user
    return 'Are you sure?';
  }
  else {
    //this wont
    window.onbeforeunload = undefined;
  }
};
6 голосов
/ 08 июля 2011

Используйте событие beforeunload.

window.onbeforeunload = function(event) {

    event = event || window.event;

    var confirmClose = 'Are you sure?';

    // For IE and Firefox prior to version 4
    if (event) {
       event.returnValue = confirmClose;
    }

    // For Safari
    return confirmClose;

}

Имейте в виду, что это будет пожар для других событий, кроме закрытия окна, таких как перезагрузка и отправка формы.

5 голосов
/ 08 июля 2011

onbeforeunload

< body onbeforeunload="alert('Closing');">

Пример:

<html> 
<head>
<title>`onbeforeunload` Event Demo</title>
</head>
<body onbeforeunload="return 'Are you sure you want to exit ?';">
</body> 
</html> 
1 голос
/ 08 июля 2011

Присоединить обработчик к событию unload.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...