Почему браузер не перезагаружает страницы при движении по истории назад?

Обновляю страницу по ajax добавляя в историю новое состояние так:
history.pushState('', title, url);
Но если нажимаю кнопку Назад браузера, то браузер просто меняет URL на старый, но не обновляет страницу на него (не перезагружает её).
Типа он запоминает что страница не обновлялась. Как сделать, чтобы обновление страницы всё же происходило?
Я имею ввиду не написать js как, который так же по ajax обновит страницу (как это сделать я знаю), а как заставить браузер делать рефреш при движении назад по истории.
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro
frontend developer
https://developer.mozilla.org/ru/docs/Web/API/Wind...
Ловите событие и обновляйте страницу аяксом.
Ответ написан
@rPman
Возможно браузер ведет себя в соответствии с заголовками кеширования данных, прописанных на странице
Под вопросом внутренний контент (например подключаемые картинки).

Предвижу вопрос, а почему перегружается если повторно открыть страницу вручную? - потому что такое поведение изменено, и то в этом случае всякие скрипты и стили будут перезагружены только если там правильно настроено кеширование (именно поэтому начинающие веб-разработчики постоянно попадаются на - изменил код на сайте, заново открыл страничку, а код там старый).

p.s. я очень любил старый opera с движком presto за подобное поведение, при нажатии назад браузер игнорирует любые настройки кеша и гарантированно не лезет на сервер, показывая содержимое максимально быстро
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы