2

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

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

4

2 回答 2

2

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

添加

ExpiresActive On
ExpiresDefault "access"

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

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

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

我建议您也阅读Mark Pilgrim 的页面

于 2011-04-06T08:30:30.397 回答
0

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

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

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

于 2011-04-06T08:40:25.927 回答