Как запретить переход на предыдущую страницу?

Рейтинг: 1Ответов: 2Опубликовано: 08.04.2015

Как обнулить предыдущую страницу?
Хочу запретить пользователю использовать кнопку "Назад" в браузере.

Ответы

▲ 4Принят

решение не мое

history.pushState(null, null, location.href);
window.onpopstate = function(event) {
    history.go(1);
};

Demo: http://jsfiddle.net/DerekL/RgDBQ/show/

взято отсюда https://stackoverflow.com/questions/16182993/how-to-prevent-a-browser-from-going-back-forward-in-history-when-scrolling-horiz

▲ 2

Если вы про запрет на нажатие кнопки "Назад", то вы не можете это сделать: ни со стороны сервера, ни со стороны клиента.

Если вы не хотите, чтобы пользователь возвращался, то есть несколько "решений":

  1. Если действие, после которого пользователь не должен иметь возможности вернуться — это "разлогиниться", то при попытке вернуться пользователь получит страницу с предложение залогиниться. Это нормально.

  2. Вы можете перетащить логику перемещений по страницам на history.replace, которая заменяет текущую запись в истории и не создаёт новой. Если страница одна, то и возвращаться некуда.

В целом, если ваш сайт реализован корректно, то необходимость в подобных действиях избыточна.