Chrome: отключение возможности пользователя переходить на предыдущую страницу в Angular - PullRequest
1 голос
/ 27 июня 2019

В качестве последней страницы на сайте электронной коммерции меня попросили запретить пользователю возвращаться на предыдущую страницу платежей, чтобы он не мог заказать тот же продукт снова.

Сайт разработан с использованием Angular 7

На предыдущей странице создается заказ из цитаты и направляется на страницу подтверждения.

Я реализовал решение в приведенном ниже коде, которое, похоже, работает в большинстве ситуаций. В IE, Firefox, когда я перехожу на страницу подтверждения по маршруту, вы не можете использовать кнопку «Назад» или ярлык, чтобы вернуться на предыдущую страницу.

Однако: в Chrome, если вы никак не взаимодействуете со страницей, вы можете нажать кнопку «Назад», чтобы вернуться назад. Если вы взаимодействуете со страницей, например, щелкните по нему, добавьте какие-либо подробности в текстовое поле и т. д., после чего вы не сможете вернуться назад.

preventBackButton() {
    window.history.pushState(null, null, window.location.href);
    window.onpopstate = () => {
      window.history.pushState(null, null, window.location.href);
    };
  }

Проблема: при нажатии кнопки "Назад" в Chrome окно не запускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...