У меня есть SPA-сайт, организованный по шагам: step1 -> step2 -> ... -> step5, который также меняет хэш URL-адреса. то есть # step1. Когда пользователь достигнет последнего шага (шаг 5), я хочу, чтобы он мог вернуться до шага 1, а затем с моего сайта (к рефереру).
Я пытался сделать это с помощьюцикл, который возвращается с помощью API истории и проверяет, содержит ли местоположение определенную строку:
function go_back() {
for(var loc = window.location.href; loc.indexOf('#step1') == -1; loc = window.location.href) {
history.back();
}
}
Но я знаю, что при компиляции JS он собирается войти в бесконечный цикл и никогдана самом деле обновить window.location.href, чтобы я мог выйти из него, когда мое условие будет выполнено.
Как я могу вернуться в историю, пока не достигнет желаемого шага?
Я также могуне возвращайтесь на количество пройденных шагов, потому что пользователь может выбрать такие пути, как step3 -> step2.2 -> step3. Таким образом, количество шагов назад не определено.