Использование window.history.back() для перехода на определенную страницу?

#javascript

#javascript

Вопрос:

Можно ли использовать window.history.back() для перехода обратно на определенную страницу? Как index.php страница? Я спрашиваю, потому что так устроена моя настройка, что некоторых пользователей, возможно, придется перенаправлять на 2 страницы назад, в то время как других, возможно, придется перенаправлять только на одну страницу (в зависимости от более сложных вещей), но все они должны быть перенаправлены обратно на ту же страницу index.php страница. Итак, возможно ли это?

Комментарии:

1. Почему вы не можете поддерживать состояние (скажем, с помощью cookie) и просто перенаправлять всех пользователей на index.php ?

2. Я не уверен в этом на 100%, но я считаю, что по соображениям безопасности современные браузеры больше не позволяют просматривать историю. Раньше вы могли это делать, но это оставляет открытой возможность отслеживать вашу историю и всю ту гадость, которая с этим связана.

3. @jstrat6, почему бы не использовать location='index.php'; напрямую вместо этого?

4. @AriTrachtenberg не могли бы вы немного углубиться в это? Звучит интересно

5. @jstrat6, я предлагаю location='index.php' , потому что ваш вопрос не касался состояния страницы при перенаправлении обратно на ту же страницу. В любом случае я согласен с предложением, данным AriTrachtenberg, также я бы предложил использовать session для поддержания состояния страницы, поэтому позже, когда вы перенаправите пользователя на страницу, используя серверные скрипты, вы все равно сможете повторно заполнить страницу.

Ответ №1:

window.history.go(); позволяет указать, на сколько страниц вы хотите перейти назад или вперед в истории сеансов браузера.

https://developer.mozilla.org/en-US/docs/Web/API/History#Methods

Если вы сохраняете трассировку хлебных крошек, вы будете знать правильное необходимое число… хотя может быть лучший способ сделать это.

Комментарии:

1. дополнительные пояснения: итак, если пользователи оставляют комментарий на этой странице (страница, на которую я пытаюсь вернуться index.php из) затем мне нужно перейти на 2 страницы назад, однако, если они не оставят комментарий, мне нужно перейти только на одну страницу? Возможно ли это вообще? Или я должен пойти другим путем?

2. перейдите на 2 страницы назад : window.history.go(-2); , перейдите на одну страницу : window.history.go(-1); . Итак, если вы знаете, опубликовал ли пользователь сообщение или нет, я бы сказал, да.