我想刷新服务器上定期更新的图像,所以我像这样加载它:
var img = new Image();
img.onload = myCallback;
img.src = imageUrl;
imageUrl 总是相同的,我设置了这些 HTTP 标头以强制浏览器在每次尝试加载图像时发出新请求:
Cache-Control: public,max-age=0
Expires: -1
Last-modified: Mon, 21 Nov 2008 01:03:33 GMT
ETag: 1234
但它只适用于 Chrome;Firefox、Opera、IE 和 Safari 只在第一次向服务器发送请求,然后我总是得到缓存的图像。
如果我将 img.src = '' 添加到 myCallback,它适用于 Opera 和 IE,但仍然不适用于 Firefox 和 Safari(我只尝试过 Firefox 11)。
我可以在我的 URL 中添加一个随机查询字符串,但它会消耗更多的带宽,因为大多数时候服务器会回复 304 Not modified。
有没有办法让它在 Firefox 上运行?