Очистить историю пересылки на мероприятии popstate - PullRequest
7 голосов
/ 02 декабря 2011

Я занимаюсь разработкой приложения, в котором используются представления, которые добавляются в историю с помощью функции

history.pushState()

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

Достигну обратной навигации, прослушивая события popstate и возвращаясь на один шаг назад в вызванной функции

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

Поскольку я не хочу, чтобы пользователь мог просматривать историю вперед, я бы хотел, чтобыИстория пересылки будет очищена.

Так что мой вопрос в основном, есть ли способ удалить историю пересылки, когда вы шагаете назад по истории браузера?

1 Ответ

1 голос
/ 20 июня 2012

Проверьте, возвращается ли пользователь со следующего шага (шаг 2), например, вы можете сделать это, используя куки или localStorage.Если он делает pushState с текущим местоположением (шаг 1).К сожалению, он добавит еще одну позицию в список истории для кнопки «Назад», но также отключит кнопку «История вперед».Шаг 2 не будет отображаться в списке истории.Это не идеально, но, может быть, это достаточно хорошо.

...