Вы ищете событие onbeforeunload
.
как
$(window).bind('beforeunload', function(){
return "Are you really sure?";
});
родной
window.onbeforeunload = function(){
return "Are you really sure?";
});
Это, конечно, просто "метод предотвращения". Вам все еще нужна логика, чтобы узнать, были ли изменения на вашем сайте. Это легко сделать, например, используя boolean
. Кроме того, вы должны сделать быстрое обнаружение, как
if('onbeforeunload' in window){}
Я думаю, что все основные браузеры поддерживают это событие в настоящее время, но есть еще браузеры, которые не знают об этом событии. Поэтому, если вышеприведенное условие не выполнено, вы все равно можете изящно отступить на другой путь.