Первый метод пытается продублировать функцию кнопки «Назад».
Второй метод берет то, что браузер утверждает как URI предыдущей страницы, помещает его на страницу без его очистки и пытаетсязапустите URI, как если бы это был JavaScript.Это быстро приводит к ошибкам, потому что URI очень редко являются допустимыми JavaScript.
Лучшим подходом будет разработка URI, к которому вы хотите перейти (предположительно, на основе данных, которые вы использовали для построения текущей страницы) и созданияобычная прямая ссылка на него (<a href...
)… и позволяет пользователю использовать встроенную кнопку «Назад» в своем браузере, если он хочет вернуться назад.Этот подход:
- Не потерпит неудачу, если JS недоступен
- Не удастся, если их браузер не отправит необязательный заголовок HTTP
- Wonне путайте пользователей, заставляя историю их браузера работать неожиданным образом
Я не уверен, но я подозреваю, что есть риск, что кто-то может создать URI и разместить ссылку на него на вашей страницев том числе "<script>...
.Затем пользователь может щелкнуть эту ссылку, получить URI страницы, с которой он пришел, вставленной на страницу, и познакомить вас с атакой XSS.(Я думаю, что это не получится, потому что некоторые из этих символов должны быть в кодировке URI, но я бы не хотел рисковать - всегда устанавливайте стандартные средства защиты от XSS всякий раз, когда у вас есть данные, поступающие извне вашей системы и обратно на вашу страницу)