Удалить несколько элементов из истории через JS - PullRequest
0 голосов
/ 15 января 2020

У меня следующий поток:

HOME => DEVICES => ADD NEW => SELECT TYPE => PAIR

Пользователи могут, конечно, go вернуться в любое время. Теперь, когда соединение завершено, я go снова на индексную страницу DEVICES.
Когда пользователь нажимает кнопку возврата на этой странице, он возвращается к PAIR (чего я не хочу), я хочу, чтобы он go домой.

Я посмотрел на ReplaceState на последнем шаге, который изменяет страницу PAIR на страницу HOME перед перенаправлением на DEVICES. Таким образом, когда пользователь нажимает обратно на странице УСТРОЙСТВ, он / она возвращается на домашнюю страницу (отлично!), Однако, когда пользователь снова нажимает НАЗАД, он приходит к SELECT TYPE, который я не хочу.

Как мне сделать sh что, когда PAIR будет завершен, страницы ДОБАВИТЬ НОВЫЙ, ВЫБРАТЬ ТИП и PAIR будут удалены из истории?

Примечание: я использую Turbolinks и Rails, хотя Я считаю, что ответ будет JS.

1 Ответ

0 голосов
/ 15 января 2020

AFAIK, вы не можете удалить из истории браузера. Но вы можете предотвратить сохранение истории с помощью location.replace (см. { ссылка }) или сделать еще одну безумную вещь, например отключить кнопку возврата, но ...

, если у вас есть класс c веб-приложение (не SPA), тогда у вас есть какая-то система, которая предотвращает переход пользователя на неожиданный шаг в вашем мастере, и если он у вас есть, это уже решает такую ​​проблему, не так ли?

...