在iOS上的Safari中刷新图像

时间:2012-05-07 14:51:45

标签: javascript ios caching safari browser-cache

我有一个Javascript应用程序,需要经常刷新一些缩略图。

我创建了一个计时器,可以将缩略图的src属性从someImage.jpg更改为someImage.jpg?0,然后更改someImage.jpg?1,依此类推。在所有桌面浏览器上,这有效地强制重新加载图像,这可能 - 或者可能不 - 在服务器上发生了变化。

但iOS上的Safari(包括iPad和iPhone)似乎都采用了更为激进的缓存策略,从而违背了这一策略。它高兴地忽略了查询字符串,并且没有发出新资产的请求。

  

有没有办法强制所有浏览器 - 包括Safari - 重新加载图像?

最糟糕的一件事应该是实际更改服务器上图像的URL。不幸的是,这可能不在我的控制之下,因此我正在寻找一个Javascript解决方案。

1 个答案:

答案 0 :(得分:0)

事实证明问题只是Safari保留了下载资产的更多副本,甚至跨页面重新加载,因此所有名为someImage.jpg?0someImage.jpg?1等的图像都已存在于缓存中。移动到随机查询字符串会起作用。