0

プロジェクトのポータル ページを作成しています。含まれている div は 1000 秒ごとに更新されます。

私が抱えている問題は、取り込まれているコンテンツが常にキャッシュされているため、更新しても効果がなく、ユーザーはハード更新を行う必要があることです。

これは Internet Explorer でのみ発生します

divを更新してロードするために使用したjavascriptコードは次のとおりです。

var auto_refresh = setInterval(
    function () {
        $('#news').load('apps/news.php').fadeIn("slow");
    }, 1000);

ご覧のとおり、データは PHP ファイルに含まれています。

news.php の内容:

<dl class="news">
  <dt>09/01/08</dt>
   <dd>
    <a href="#"><img src="/images/news1.jpg" alt="News image 1" /></a>
     <p><a href="#">Opal network services resume - Bada Bing!</a></p>
   </dd>
  <dt>07/01/08</dt>
   <dd>
    <a href="#"><img src="/images/news3.jpg" alt="News image 3" /></a>
     <p><a href="#">Anglia Contemporary Theatre - "Some news-pschitt!"</a></p>
   </dd>
  <dt>07/01/08</dt>
   <dd>
    <a href="#"><img src="/images/news4.jpg" alt="News image 4" /></a>
     <p><a href="#">ALSS Faculty Research Seminar - Novel Plots: Narrative in Nineteenth-Century Verbal and Visual Fictions</a></p>
   </dd>
  </dl>

データがキャッシュされないように設定するにはどうすればよいですか?

ありがとう

4

2 に答える 2

6

URL の末尾のクエリに現在の時刻を追加します。

var auto_refresh = setInterval(
  function () {
  $('#news').load('apps/news.php?random='+(new Date()).getTime()).fadeIn("slow");
  }, 1000);
于 2009-08-11T15:10:13.590 に答える
1

news.php のキャッシュ ディレクティブに no-cache を追加するか、1000 秒未満の更新のパフォーマンスを向上させるために短いキャッシュを 'say 500 sec' にします。必要に応じてキャッシング戦略を微調整します。

http://www.php.net/manual/en/function.header.phpからのサンプル:

<?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
?>
于 2009-08-11T15:27:35.023 に答える