【问题标题】:IOS 6 Caching Everything except Cache Manifest. Updated files never being requested from web serverIOS 6 缓存除缓存清单之外的所有内容。从未从 Web 服务器请求更新的文件
【发布时间】:2012-12-12 11:59:57
【问题描述】:

我们的 Web 应用程序在 ios 6 应用程序模式下被如此积极地缓存,以至于每次从 Web 服务器请求的唯一文件是缓存清单。我们更改了一堆脚本和 html,但应用程序从不请求新文件。如果 Web 服务器没有任何请求,我该如何解决这个问题?有没有办法可以在缓存清单中解决这个问题?请记住,我们仅使用缓存清单来缓存图像、字体等,而不是 js 本身。任何帮助将不胜感激,我很难过!

编辑 1:

缓存清单的内容已更改。我什至每次都在缓存清单中放置一个 guid,以确保它不同。我已经运行 charles 并看到该页面不断请求清单,并有 200 个响应。似乎 ios 6 本机应用程序模式包装器发生了一些非常奇怪的事情。

【问题讨论】:

  • 您是否更改了清单文件本身(里面有一些版本号)。如果没有,可能是没有下载任何内容。

标签: javascript ios html mobile cache-manifest


【解决方案1】:

您可以在此网站上获得所需的所有信息:http://appcachefacts.info/

如果你想刷新缓存文件,你必须改变appcache.manifest的内容。

【讨论】:

  • 正如我所说,我们不会在缓存清单中引用 javascript。无论如何,无论我是否更改缓存清单,它都会不断被请求......
【解决方案2】:

也许这个链接有帮助:Is Safari on iOS 6 caching $.ajax results?。

iOS6.0 缓存了我认为的几乎所有内容...在我们的应用程序中,是 Ajax Post 被缓存并破坏了应用程序。我希望通过在 Ajax 请求上设置 cache:false 来解决这个问题,但我不太确定。否则我会在所有 AJAX 请求中添加一个随机字符串。

据说在 iOS6.1 测试版中修复了 post-chaching,希望也适用于 web-app 模式。

【讨论】:

  • 不,这不是 ajax 请求,它是对网页的初始请求。由于网页被缓存,我不能用它做任何事情!至少对于 ajax 请求,我可以将时间戳附加到路径。
猜你喜欢
  • 2016-07-11
  • 2020-07-26
  • 1970-01-01
  • 1970-01-01
  • 2014-03-14
  • 2012-10-23
  • 1970-01-01
  • 2014-06-09
  • 2012-12-29
相关资源
最近更新 更多