2012-05-07 47 views
1

我有一个Javascript应用程序,需要经常刷新一些缩略图。在iOS上的Safari刷新图像

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

但是iOS上的Safari(包括iPad和iPhone)似乎有一个更积极的缓存策略,可以击败这一策略。它高高兴兴地忽略查询字符串,不会发出新资产的请求。

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

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

回答

0

事实证明,问题在于Safari即使在页面重新加载时也会保留更多下载资源的副本,因此所有名为someImage.jpg?0,someImage.jpg?1等的图像都已在缓存中。移动到一个随机的查询字符串结果工作。