Помогите с заголовком () php - PullRequest
0 голосов
/ 19 июня 2010

Здравствуйте. Я хочу обновить скрипт с сервера при нажатии кнопки «Назад». Для этого я использую этот код:

header( "Last-Modified: " . gmdate( "D, j M Y H:i:s" ) . " GMT" ); 
header( "Expires: " . gmdate( "D, j M Y H:i:s", time() ) . " GMT" ); 
header( "Cache-Control: no-store, no-cache, must-revalidate" ); // HTTP/1.1 
header( "Cache-Control: post-check=0, pre-check=0", FALSE ); 
header( "Pragma: no-cache" ); // HTTP/1.0

Но кажется, что браузеры (IE 8, FF 3.6) все еще "кэшируют" страницу. Любая помощь будет оценена.

1 Ответ

3 голосов
/ 19 июня 2010

Я уверен, что вы не можете контролировать это.Кнопка - это нечто совершенно отличное от нового запроса, вплоть до пользовательского агента (в большинстве случаев браузер, такой как MSIE, FF, Chrome, Safari, Opera и т. П.), И, скорее всего, все они имеют свою собственную интерпретацию того, чтоконечный пользователь хочет при нажатии кнопки назад.Во многих случаях даже не используется HTTP-запрос, и DOM загружается так, как это было до перехода.Это включает в себя любые изменения, сделанные на стороне клиента.

Вкратце: влияние и подсказка уже имеющегося кода - это лучшее, что вы можете сделать.Чтобы получить «свежую» страницу, пользователь должен перезагрузить ее (в большинстве случаев нажимая F5).Вы можете добавить объявление meta refresh на свою страницу, чтобы попытаться сделать страницу максимально актуальной в пользовательских агентах, которые ее разрешают.

...