3

サーバーから画像(同じ名前ですが、常に新しい画像)をhtmlページにロードしようとしています-タグ:#webCamStageImage。これまでのところ、画像を読み込むことはできますが、Safariで「WebCoreキャ​​ッシュを無効にする」をオンにすると機能するため、ブラウザに新しい画像が表示されません(キャッシュの問題だと思います)。

これが私のコードです:

setInterval(function()
{
  $("#webCamStageImage").attr({'src': "http://picture.jpg"});
}, 5000);

古いイメージを変更/削除/更新するにはどうすればよいですか?

クリス

4

2 に答える 2

9

ナンセンスなクエリ文字列が付加されたURLを使用してみてください。

setInterval(function()
{
  $("#webCamStageImage").attr({'src': "http://picture.jpg?foo=" + new Date().getTime()});
}, 5000);

ブラウザはURL全体をキャッシュ可能なエンティティの名前として扱うため、これを行うことで、サーバーに別の何かを要求していると思わせることができます(実際にはそうかもしれません)。サーバーはクエリ文字列に注意を払いません(特に知らない限り...)。

于 2010-07-17T15:32:01.593 に答える
1

キャッシュを回避するために、クエリ文字列値にランダムな値を追加してみてください。

var randNum = Math.floor(Math.random() 999 + 1);
setInterval(function()
{
  $("#webCamStageImage").attr({'src': "http://picture.jpg?rand=" + randNum});
}, 5000);
于 2010-07-17T15:31:38.443 に答える