2013-12-08 1 views
0

Я пытаюсь использовать popstate и pushState, и мне интересно, как справиться с навигацией по страницам.pushState при навигации по страницам и обратно

Допустим, у меня есть индексная страница, которая генерирует «новую страницу» при нажатии на нее, и она загружается с помощью ajax. С popstate я меняю URL. На загружаемой странице находятся ссылки, которые выходят за пределы текущей страницы «index». Когда кто-то нажимает назад, они получают объект сброшенного состояния.

Как предотвратить его, чтобы он действительно загружал URL-адрес, который был задан во время pushState?

Заранее спасибо.

ответ

1

Кажется, вы делаете что-то, что заставляет браузер заменять свою кэшированную версию вашей индексной страницы чем-то другим. Убедитесь, что ваш сервер устанавливает

Vary: Accept 

заголовок при возврате страницы индекса и последующих запросов. См. this Chromium issue для получения дополнительной информации.

0

У ссылки есть также якорь, поэтому в браузере есть ссылка на возврат.

Выбросьте один из них в начале каждой из страниц с уникальным атрибутом name.

Так что ваши ссылки будут:

<a href="page.html#first">Load the first page</a> 

и страница HTML бы это наверху где-то:

<a name="first"></a> 

Забавно, что вы сделали этот пост Потому что у меня точно такая же проблема прямо сейчас с этого сайта я только начал делать вчера: http://asims.fleeceitout.com - пришлось поместить стрелы повсюду, чтобы люди не потеряли хаха. Я в конечном итоге беру свой собственный совет, но сейчас я слишком ленив. Плюс я пытаюсь понять, сколько всего сайта я могу сделать без использования одного <a></a>.