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

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

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

Это на самом деле возможно, или я все неправильно понял?

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

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

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

5 ответов

Решение

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

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

Хорошая страница о файлах cookie javascript.

Не упоминается в дублирующих темах, но, тем не менее, полезно: Действительно простая история (RSH).

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

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

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

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

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

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

Первые 3 результата Google возвращается:
первый
второй
в третьих

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

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

Другие вопросы по тегам