Как отключить кнопку "Назад" в браузере с помощью javascript

Хотите отключить кнопку "Назад" для веб-сайта.

всякий раз, когда пользователь нажимает кнопку "Назад браузера", он не должен находиться на странице, которую он посещал раньше.

Ответ 1

Вы не можете, и вы не должны.

каждый другой подход/альтернатива приведет только к очень плохим пользовательским взаимодействиям.

что мое мнение.

Ответ 2

history.pushState(null, null, document.title);
window.addEventListener('popstate', function () {
    history.pushState(null, null, document.title);
});

Этот script перезапишет попытки перемещения вперед и назад с состоянием текущей страницы.


Update:

Некоторые пользователи сообщили о лучшем успехе с использованием document.URL вместо document.title:

history.pushState(null, null, document.URL);
window.addEventListener('popstate', function () {
    history.pushState(null, null, document.URL);
});

Ответ 3

Невозможно отключить функциональность кнопки "Назад" браузера, что может быть сделано, чтобы предотвратить их.

Ниже код JavaScript должен быть помещен в раздел главы страницы, где вы не хотите, чтобы пользователь пересматривал с помощью кнопки "Назад" :

<script>
  function preventBack(){window.history.forward();}
  setTimeout("preventBack()", 0);
  window.onunload=function(){null};
</script>

Предположим, что есть две страницы Page1.php и Page2.php и Page1.php перенаправляются на Page2.php.

Следовательно, чтобы пользователь не посетил Page1.php с помощью кнопки "Назад" , вам нужно разместить выше script в разделе заголовка Page1.php.

Для получения дополнительной информации: Ссылка

Ответ 4

Наш подход прост, но РАБОТАЕТ!:)

Когда пользователь нажимает кнопку LogOut, мы просто открываем страницу входа (или любую страницу) и закрываем страницу, на которой мы являемся... имитируя открытие в новом окне браузера без истории, чтобы вернуться.

<input id="btnLogout" onclick="logOut()" class="btn btn-sm btn-warning" value="Logout" type="button"/>
<script>
    function logOut() {
        window.close = function () { window.open('Default.aspx', '_blank'); };
    }
</script>