javascript - 在 iOS 上的 Safari 中刷新图像

标签 javascript ios caching safari browser-cache

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

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

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

Is there a way to force all browsers - Safari included - to reload an image?

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

最佳答案

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

关于javascript - 在 iOS 上的 Safari 中刷新图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10484198/

相关文章:

javascript - 为什么 JavaScript 的 : obj = new Boolean(false) , (obj && true) 为真,而 (obj || false) 为假?

javascript - 更新 1 分钟后改变行的颜色

iphone - 设备锁定时,NSTimer过期

iphone - 应该从父 ViewController 还是子 ViewController 调用 popViewController?

iOS objective-c : Display RTF document

c++ - 如何找到 Internet Explorer(IE) 缓存文件的完整路径?

javascript - Laravel ajax 分页加载整个页面

javascript - 本地存储变量被锁定为 false

ruby-on-rails - 如何从 Rails Observer/Model 调用 expire_fragment?

java - Java 持久性中的事务性和非事务性缓存