@IdFox

Как реализовать корректную работу кнопки назад в браузере?

День добрый

Подскажите как реализовать корректную работу кнопки назад

Есть страничка (1), она должна быть закеширована
Она отдается с заголовками (php)

header('Pragma: cache');
header('Cache-Control: max-age=600, public');
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 600));

На этой страничке есть AJAX подгрузка контента
Листаем вниз, товары подгружаются
После того как выбрали товар - переходим на него
Это страничка (2)

Когда на ней нажимаем кнопку назад в браузере - страничка (1) выдается из кеша
Но - уже без подгруженного AJAX контента

Как сделать так, чтобы
1. Весь контент был на месте в том состоянии как он был ДО перехода
2. Как сделать, чтобы возврат произошел именно на то место (вертикальный скрол от верха странички)

Спасибо за подсказки
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 2
black1277
@black1277
Вольный стрелок
Вам нужно использовать кэширование, чтобы при возврате назад сайт мог загрузить уже загруженные данные моментально из кэша. Лучше всего для этого подходит использование Service Worker API Вот пара ссылок для понимания: youtube и Habr
А чтобы возврат происходил именно на то место откуда перешли - можно использовать якорную ссылку
Ответ написан
Комментировать
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Или делать как AliExpress и другие китайские сайты, открывая новый таб на каждый чих. Или не уходить со странички, JavaScript-ом открывая модальное окно с данными "второго уровня". Ну и третий вариант, сложнее - как-то кэшировать AJAX, скроллировать JavaScript-ом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы