2010-11-10 4 views
38

Мне нужно заставить браузер перезагрузить предыдущую страницу с сервера, когда пользователь нажимает кнопку «Назад».Как остановить хром от кеширования

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

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

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

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

спасибо.

+1

Если вы заинтересованы в остановке кеширования содержимого поля, чем взгляните на [это] (http://stackoverflow.com/a/2699400/669677)! –

+3

9000 просмотров и моды называют это «необычайно узкой ситуацией». – AaronLS

ответ

34

согласно this bug report В хромовом репо пользователи считают, что использование no-store вместо no-cache будет фиксировать его в хроме.

+4

ошибка или функция? –

+3

lol, давайте просто назовем его «проблемой обозначений» =] – superfro

+0

Но как насчет других браузеров. Добавит ли это перерыв в других браузерах? –

0

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

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

Реальным решением, конечно, является структурировать приложение таким образом, что использование задних/передних кнопок на самом деле работает так, как они должны.

+4

Я не был бы слишком доволен реализацией этого, если не будет другого выбора, это немного взломано для меня. Проблема в том, что перезагрузка страницы, когда пользователь нажимает назад, - это способ, которым должна работать кнопка возврата. Например, если я был в онлайн-банке, и я вышел из системы, я не хочу, чтобы люди возвращались назад и смотрели мои данные учетной записи. Я бы хотел, чтобы страница перезагрузилась. У нас есть аналогичная ситуация с нашим приложением, информация может быть изменена, поэтому нам нужно перезагружать динамически. –

+0

Да, это хаки, и я не рекомендую его, если только это не единственный вариант. Это то, о чем я думал. Однако вы должны помнить, для чего предназначены эти кнопки вперед и назад. Веб-сайты первоначально предназначались для документов/страниц, а не для приложений. Хотя добавление 'no-store', предложенное superfro, является хорошей идеей, вы также должны рекомендовать пользователям закрыть браузер после выхода из системы, как и любой другой банк или защищенный сайт. – Brad

+0

Извините, что это звучит круто. Я ценю совет, я буду использовать его, если не найду лучшего решения –

Смежные вопросы