Предотвращение навигации по нажатию кнопки «Назад» звучит неправильно.
Единственное, что вы можете сделать с событием beforeunload
, - это вернуть строку, чтобы вызвать пользователя до того, как он покинет страницу.
$(window).on('beforeunload', function(e){
return "Are you sure? Please, don't leave.";
});
Например, откройте this JSFiddle demo и попытайтесь его закрыть.
Скорее всего, любые другие реализации не будут поддерживаться браузерами из-за соображений безопасности. Кнопка «Назад» - это «аппаратная» кнопка, которая, как предполагается, всегда перемещается на предыдущую страницу.
Вы можете реализовать это ограничение на стороне сервера, используя перенаправления, переменные сеанса и т. Д.
Однако почему нужно отключить это поведение? Я твердо верю, что должно быть другое, более последовательное, браузерное и удобное для пользователя решение.
beforeunload - это особый тип события, в котором вы можете предотвратить Default. Ожидается, что функция вернет строку, которая будет предложена пользователю, когда он попытается вернуться назад. Это все, что ты можешь сделать. – Vivek
Почему вы хотите ограничить навигацию? В чем причина и конечная цель? Возможно, вместе мы сможем найти лучшее решение. –