3

我正在尝试将来自服务器的图像(同名但始终是新图像)加载到 html 页面中 - 标签:#webCamStageImage。到目前为止,我可以加载图像,但浏览器没有向我显示新图像——我想这是一个缓存问题——因为当我在 Safari 中打开“禁用 WebCore 缓存”时它可以工作。

这是我的代码:

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

如何更改/ddelte/刷新旧图像?

克里斯

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 回答