2011-01-28 1 views
5

Я знаю, что могу выполнить автоматическое обновление на некоторых моих веб-страницах (например, на главной странице моего сайта), вставив метатег какЯ хочу автоматическое обновление, а не просто автообновление на моих веб-страницах

<meta http-equiv="refresh" content="600"> 

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

Я думаю, это может быть сделано с жестким обновлением (Ctrl-F5 в Windows, Option + R в MacOSX), но я не знаю, если это возможно, чтобы заставить обновления быть трудно обновить. .. или если такой вид обновления послужит моей цели.

+0

Почему вы делаете обновление? – Stephen

+0

Ну, большинство новостных сайтов это делают. Домашняя страница автоматически обновляется с обновлением, отображая новые и обновленные статьи, если читатель просматривает домашнюю страницу. Это очень полезно. – javipas

ответ

1

Я искал ответ на этот вопрос, и все это похоже на заголовки.

Вам необходимо отправить заголовок не-кэша, в PHP это будет:

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 

..и тогда просто обновить как нормальный (JavaScript или мета).

+0

Simon, это похоже интересно. Я нашел еще одно решение через веб-сервер: мы используем Nginx, и у нас было «expires max»; параметр в нашем файле конфигурации: именно поэтому страница всегда была кеширована, пока пользователи не нажали Ctrl + F5. Удаление этой линии решило проблему, но ваш подход также очень удобен. Благодаря! – javipas

0

Используйте этот метод:

http://grizzlyweb.com/webmaster/javascripts/refresh.asp

Он использует JS для обновления и не загрузит страницу из браузеров Bf-кэша поэтому он должен делать то, что вам требуется. Это также предотвратит проникновение записей в BF-кеш пользователей, чтобы они могли правильно использовать кнопку «Назад».