Как остановить кеширование от кеширования - PullRequest
40 голосов
/ 10 ноября 2010

Мне нужно заставить браузер перезагружать предыдущую страницу с сервера, когда пользователь нажимает кнопку возврата.

Я добавил в заголовки ответа следующее:

Cache-Control: no-cache, must-revalidate
Expires: -1

Похоже, это работает для большинства браузеров, но не для Google Chrome, который настаивает на возврате кэшированных результатов.

Так кто-нибудь знает, как заставить браузер получать страницу с сервера, когда пользователь нажимает кнопку возврата?

Спасибо.

Ответы [ 2 ]

36 голосов
/ 10 ноября 2010

согласно этому отчету об ошибке в Chromium Repo, пользователи считают, что использование no-store вместо no-cache исправит его в chrome.

0 голосов
/ 10 ноября 2010

Это не правильно, но, возможно, вы могли бы использовать объект истории Javascript, чтобы определить, является ли текущая страница последней страницей в списке? Если нет, то была нажата кнопка «назад».

См. Эту ссылку: http://www.exforsys.com/tutorials/javascript/javascript-history-object-properties-and-methods.html

Конечно, реальное решение состоит в том, чтобы структурировать ваше приложение таким образом, чтобы использование кнопок «назад» / «вперед» фактически работало так, как они должны.

...