Вы не хотите использовать history.go(-1)
, потому что это ненадежно.Но вы не можете использовать URL, потому что есть такие страницы, как GoogleMaps, где URL всегда одинаков.
Если URL-адрес совпадает, но содержимое отличается, то это означает, что значения для определения содержимого страницы извлекаются не из URL-адреса.
Где это может быть?
Ваш наиболее вероятный подозреваемый - это опубликованная коллекция форм, но данные также могут поступать из cookie.
Я думаю, что имеет гораздо больше смысла индексировать абсолютное местоположение, чем относительное местоположение, потому что, как вы заметили, относительные местоположения могут быть ненадежными.Проблема в том, что вам нужно получить все данные, которые отправляются на веб-сервер, чтобы понять, каково его фактическое абсолютное местоположение (потому что URI недостаточно).
Способ сделать это - создать локальную копию страницы и заменить URL-адрес отправки (это может быть ссылка, форма или javascript) URL-адресом на вашем сервере.Затем, когда вы нажмете что-нибудь на странице GoogleMaps, чтобы вызвать изменение (которое, кажется, не влияет на URL), вы получите эти данные на своем сервере и сможете определить фактическое местоположение.
Подумайте оэто как строка запроса.
Если у меня есть
<form action="http://myhost.com/page.html" method="get">
<input type="hidden" name="secret_location_parameter" value="mrbigglesworth" />
<input type="submit" />
</form>
и я нажимаю кнопку отправки, меня перенаправляют на URL
http://myhost.com/page.html?secret_location_parameter=mrbigglesworth
Однако, если у меня
<form action="http://myhost.com/page.html" method="post">
<input type="hidden" name="secret_location_parameter" value="mrbigglesworth" />
<input type="submit" />
</form>
и я нажимаю кнопку отправки, затем меня перенаправляют на URL
http://myhost.com/page.html
Сервер по-прежнему получает secret_location_parameter=mrbigglesworth
, но получает его как значение формы вместо значения строки запроса, поэтомуэто не видно из URL.Сервер может отображать другую страницу в зависимости от значения secret_location_parameter
, но не изменять URL-адрес, и если используется метод публикации, то может оказаться, что несколько страниц находятся на одном и том же URL-адресе.
Моя точка зренияв том, что вы, возможно, решаете проблему не с того угла, потому что не понимаете, что происходит под капотом.Я, конечно, делаю предположения, но, исходя из того, как вы задали свой вопрос, я думаю, что это может быть полезно для вас