сохранение истории в ajax - PullRequest
1 голос
/ 10 июня 2009

Я использую Ajax на моем сайте. Когда пользователь вводит запрос и выбирает категорию, я обновляю страницу содержимым, полученным сервером, используя ajax. Кроме того, я обновляю URL-адрес хэш-значением, которое показывает запрос и категорию, разделенные &.

То, что я хочу сделать, это сделать так, чтобы при нажатии кнопки браузера назад я отображал предыдущий результат без перезагрузки.

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

1 Ответ

2 голосов
/ 10 июня 2009

Коротким ответом будет использование части uri #hash, эта часть, если обновлено, не обновляет страницу, и в большинстве браузеров делает контрольную точку истории, однако, говоря в большинстве браузеров, это означает, что в IE6 нет поддержки и я думаю, что IE7. Другой способ - когда вы обнаруживаете IE, вы можете встроить 1-пиксельный iframe и установить его источник на страницу в вашем домене, и сделать так, чтобы ваш javascript устанавливал его? часть URL, поэтому страница обновляется, и в этом случае IE сохранит точку истории. Эта проблема решена в IE8

Пример

http://codinginparadise.org/weblog/2005/08/ajax-tutorial-tale-of-two-iframes-or.html

...