При использовании кнопки возврата результаты AJAX были потеряны

Итак, я установил систему нумерации страниц, аналогичную Twitter, где отображаются 20 результатов, и пользователь может щелкнуть ссылку, чтобы отобразить следующие двадцать или все результаты. Количество отображаемых результатов можно контролировать с помощью параметра в конце URL-адреса, однако это не обновляется с помощью AJAX, поэтому, если пользователь нажимает на один из результатов, а затем выбирает вернуться, он должен начать только с 20 Результаты.

У меня возникла одна мысль: если я обновляю URL-адрес, когда я получаю результаты с помощью AJAX, это должно - я надеюсь - позволить пользователям перемещаться вперед и назад без потери количества отображаемых результатов.

Возможно ли это на самом деле или я ошибаюсь?

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

Любая помощь здесь была бы замечательной!

Примечание: я использую функцию jQuery load () для выполнения всего моего AJAX.


person Community    schedule 22.06.2009    source источник


Ответы (5)


Фактически вы не можете изменить URL-адрес страницы с javascript без перезагрузки страницы.

Вместо этого вы можете рассмотреть возможность использования файлов cookie. Установив клиентский файл cookie, вы можете «запомнить», сколько результатов хочет видеть пользователь.

Хорошая страница, посвященная файлам cookie JavaScript.

person Joel    schedule 22.06.2009
comment
В настоящее время можно изменить URL-адрес без перезагрузки, см. stackoverflow.com/questions/3338642 - person Daniel Naber; 09.08.2013
comment
Истинный. Поскольку этот ответ больше не точен, я не уверен, каким будет правильное действие SO. Обновить его дополнительной информацией? - person Joel; 09.08.2013

Не упоминается в повторяющихся обсуждениях, но тем не менее полезно: Really Simple History (RSH).

person ajm    schedule 22.06.2009
comment
одна из моих ссылок упомянула об этом :) - person Arnis Lapsa; 23.06.2009
comment
Ой! Думаю, он будет здесь для потомков. :-) - person ajm; 23.06.2009

Это был бы ответ, который я бы поставил здесь:

Кнопка "Назад" в браузере и динамические элементы

person karim79    schedule 22.06.2009

Ответ на этот вопрос будет более или менее таким же, как мои ответы на эти вопросы:

Итак, два проекта, которые вы, вероятно, захотите посмотреть, объясняют весь процесс хеш-обмена и его использование с ajax:

  • История jQuery (использование хэшей для управления состоянием страниц и привязки к изменениям для обновления страницы ).

  • jQuery Ajaxy (расширение ajax для истории jQuery, позволяющее создавать полные веб-сайты ajax, ненавязчивый и изящно разлагаемый).

person balupton    schedule 28.08.2010

Первые 3 результата, которые возвращает Google:
первый
второй
третий

Я съем свои шорты, если ни одна из них не пригодится. ^^

И да - вы не можете изменить URL через JS.

person Arnis Lapsa    schedule 22.06.2009