Я понимаю, что это, вероятно, дубликат, но я уже целый день гуглю / SOing и не могу найти удовлетворительного ответа. Если на SO уже есть ответ, пришлите мне туда.
У меня есть клиент, который настаивает на появлении всплывающего сообщения о выходе, подтверждающего, что он хочет покинуть сайт, как это делает Gmail. (Я уже пытался возражать против этого. Он непоколебим, поэтому никаких комментариев о том, что это плохая практика, пожалуйста.)
Я нашел этот код:
<script>
window.onbeforeunload = function() {
return 'Are you sure you want to exit?';
}
<script>
Но он работает независимо от того, что я делаю - перезагружаю страницу, нажимаю на навигацию и т. Д.
Я просто хочу, чтобы сообщение отображалось, когда пользователь закрывает вкладку/браузер. Я подозреваю, что мне не хватает чего-то простого, но я не эксперт по Javascript.
Любая помощь будет принята с благодарностью.
Спасибо
РЕДАКТИРОВАТЬ
Вот что работает довольно хорошо. Спасибо всем!
var isLeavingSite = true;
//This would be called on each link/button click that navigates
$('a, input[type="submit"]').click(function(){
isLeavingSite = false;
});
window.onbeforeunload = function() {
if(isLeavingSite)
return 'Are you sure you want to exit?';
}