【问题标题】:Does Mobile Safari clean the DOM Application Cache - and when?Mobile Safari 是否清理 DOM 应用程序缓存 - 以及何时清理?
【发布时间】:2012-07-08 16:15:54
【问题描述】:

我们正在使用 DOMApplicationCache / 缓存清单做一个网络应用程序,我想知道 Mobile Safari 是否会在任何时候为我的项目清理/清除 DOMApplicationCache(例如,如果网站没有以一定数量访问时间)。

我还被告知,将 Web 应用程序保存到主屏幕会将其应用程序缓存沙箱化,从而有效避免“正常”Mobile Safari 中的 DOMApplicationCache 上可能存在的任何时间限制。

那么有人知道目前的情况吗?或者你能不能给我指出一个相关的资源?

谢谢!

【问题讨论】:

  • 另外,知道它在 Android 设备中的实际行为方式将是一个加分项,尽管我预计那将是一个非常黑暗的丛林,没有明确的答案。

标签: javascript html caching manifest


【解决方案1】:

它似乎不应该自动清除缓存,从我在 Apple 的关于在客户端存储 Web 内容的文档中可以读到:https://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/Client-SideStorage/Client-SideStorage.html#//apple_ref/doc/uid/TP40002051-CH4-SW5

但是,我可能会使用 applicationCache 对象的 status 属性来实施一项措施,以确保缓存有效且存在。如果您还没有,请在此处查看课程参考:https://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMApplicationCacheClassReference/DOMApplicationCache/DOMApplicationCache.html#//apple_ref/javascript/cl/DOMApplicationCache

【讨论】:

  • 是的,但是如果用户需要空间来存放其他东西(音乐等),或者如果经过一段时间,假设它实际上会清理它似乎不合理没有重访?
  • 也许会,也许不会。在我看来,依赖这个假设似乎是不合理的。对于在您更新内容时用户没有访问您的网站的情况:在清单中包含带有版本或简单时间戳的注释行。每次清单本身的内容发生变化时,都会更新所有缓存的内容。
  • 谢谢,Marvin,我们已经这样做了。我要说的是,如果用户有任何机会访问该站点,然后两个月没有访问该站点,然后在离线时返回该站点发现它不可用(因为缓存已被清除)。将应用程序添加到主屏幕或类似内容是否可以避免该潜在问题?
猜你喜欢
  • 1970-01-01
  • 2018-12-21
  • 2018-12-11
  • 2017-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-09
相关资源
最近更新 更多