【问题标题】:How can I get rid of the HTML5 offline cache?如何摆脱 HTML5 离线缓存?
【发布时间】:2011-07-30 14:51:48
【问题描述】:

我有一个曾经使用HTML5 offline cache 的应用程序。现在我决定不再使用它,并从 index.html 文件中删除了 manifest 属性。但是,浏览器仍然认为该站点已缓存,并拒绝更新 index.html 文件。

即使更新 manifest 也无济于事。如何从用户的离线缓存中删除站点?我是否永远停留在缓存的网站上?

【问题讨论】:

  • 您如何尝试更新清单?
  • 用户可以在浏览器的首选项面板中手动删除它。不确定这是您正在寻找的答案。
  • @edeverett:更新清单并没有改变主文件的缓存@timdream:我无法询问用户,因为我不知道哪些用户受到影响。另外,Chrome 中的此首选项窗格在哪里?

标签: html offline-caching


【解决方案1】:

您需要确保清单文件没有被缓存,默认情况下会缓存。

添加

ExpiresActive On
ExpiresDefault "access"

到您的 .htaccess 将停止缓存所有内容,尽管您真的只是希望以这种方式缓存清单文件:(记得更新文件名)

<Files cache.manifest>
    ExpiresActive On
    ExpiresDefault "access"
</Files>

您确实需要先这样做,但这应该可以缓解问题。

我也建议您通读Mark Pilgrim's page

【讨论】:

  • 已更改链接以转到镜像。
【解决方案2】:

尝试将您的 manifest 的内容更改为简单的 CACHE MANIFEST 而不列出任何文件。客户端应在下次访问站点时检索新清单,并且应删除其缓存。

但是请注意,在刷新页面之前,他们不会使用这个新的、空的清单。

我发现在某些情况下,在某些浏览器上,它们不一定会立即获取新的manifest。不过,这种行为似乎不一致。发生这种情况时,我倾向于手动清除他们的缓存/离线存储,以强制他们更新(尽管我知道您不一定能让用户这样做)。

【讨论】:

  • 对我来说,这不适用于包含 manifest= 属性的主文件。不知何故,浏览器仍然认为这个网站被缓存了。
猜你喜欢
  • 2010-11-15
  • 2015-05-05
  • 1970-01-01
  • 2011-11-27
  • 2012-11-12
  • 1970-01-01
  • 1970-01-01
  • 2015-03-04
  • 2013-01-23
相关资源
最近更新 更多