我正在尝试将来自服务器的图像(同名但总是新图像)加载到html页面 - 标记:#webCamStageImage。到目前为止,我可以加载图像,但浏览器没有向我显示新图像 - 我想这是一个缓存问题 - 因为当我打开Safari中的“禁用WebCore缓存”时,它可以工作。
继承我的代码:
setInterval(function()
{
$("#webCamStageImage").attr({'src': "http://picture.jpg"});
}, 5000);
如何更改/ ddelte /刷新旧图像?
克里斯
答案 0 :(得分:8)
尝试使用带有无意义查询字符串的网址:
setInterval(function()
{
$("#webCamStageImage").attr({'src': "http://picture.jpg?foo=" + new Date().getTime()});
}, 5000);
浏览器将整个 URL视为可缓存实体的名称,因此通过执行此操作,您可以认为您要求服务器提供不同的内容(实际上您可能是这样)。服务器不会关注查询字符串(除非你不知道......)。
答案 1 :(得分:1)
尝试添加随机值以查询字符串值,以避免缓存:
var randNum = Math.floor(Math.random() 999 + 1);
setInterval(function()
{
$("#webCamStageImage").attr({'src': "http://picture.jpg?rand=" + randNum});
}, 5000);