Как реализовать работу ajax-подгрузки данных в каталоге и кнопку назад в браузере?

Добрый день!

Есть сайт, с каталогом, очень большим, очень-очень! Страницы в каталоге подгружаются вниз автоматом, как в контакте, к примеру. Есть так же юзеры, которые переходят по товарам и потом жмут кнопку назад. Конечно же, когда он нажимает назад из товара и попадает на страницу каталога – он видит первую самую страницу.

Вопрос — как это побороть? Как сделать так, чтобы при нажатии назад он видел все, что уже загрузил?

Ломаю мозг, вариантов кроме как подгружать по хеш-тегу в адресе, типа #page-10 не вижу, но и это накладно, на мой взгляд.

Надо загрузить ту, что у него в теге и потом все предыдущие(

Помогите!
  • Вопрос задан
  • 4230 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Busla
И будут у вас как в контакте мобильные браузеры вылетать и подвисать. Сделайте нормальный паджинатор.
Бесконечный скролл — это рюшечка, чтобы выделиться/выпендриться. У магазина должен быть более консервативный предсказуемый интерфейс, где можно посмотреть сразу позицию из конца списка, середины, дать на неё ссылку и т.п.
Ответ написан
Комментировать
@artishok
кратко
Писал камент, и браузер слетел, поэтому кратко:
например весь контент в блоке wrapper

Загрузка инфы об отдельном товаре должна происходить с помощью аякса в блок wrapper, заменяя прежнее содержимое. Но предварительно, перед заменой wrappera надо сохранить в кеш все содержимое и узнать насколько была проскролена страница.
Здесь обязателен хеш-тег, чтобы при нажатии на кнопку «назад» страница не перезагружалась.

Далее при нажатии на кнопку «назад», кеш обратно вставляем в блок wrapper и скролим страницу вниз.

Засыпаю, поэтому может быть немного непонятно. Чтобы понять, смотрим пример.

Пример: pastehtml не работает, поэтому вот jsfiddle.net/7W87S/2/
или так fiddle.jshell.net/7W87S/2/show/

Думаю чтобы не использовать хеш-теги, для хранения контента можно использовать локальное хранилище. А высоту скрола хранить в куках
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект