Я понимаю, что это, скорее всего, дубликат, но я уже несколько дней гуглю / думаю, и не могу найти удовлетворительного ответа. Если на 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?';
}