1

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

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

但是 iOS 上的 Safari(iPad 和 iPhone)似乎有一个更激进的缓存策略来打败这个策略。它愉快地忽略了查询字符串并且不发出对新资产的请求。

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

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

4

1 回答 1

0

事实证明,问题只是 Safari 保留了更多下载资产的副本,即使在页面重新加载时也是如此,因此所有名为 等的图像someImage.jpg?0someImage.jpg?1已经在缓存中。移动到随机查询字符串证明是可行的。

于 2012-05-07T15:08:44.447 回答