26

我有一个带有关联appcache清单的HTML文档。但是现在我想摆脱一段时间的离线应用程序缓存。删除HTML5脱机AppCache

如果我从<html>标记中删除了清单的提及,那么已有缓存版本的浏览器将继续使用该缓存版本。

如果我更新appcache清单,那么无论如何,仍然有一个appcache。

什么是去除离线应用程序缓存最明智的方法?我想,我可能只是改变清单以比其他任何条目:

NETWORK: 
* 

然后,它实际上不会缓存内容。

但是一定有办法摆脱appcache和manifest文件,不是吗?

+0

[删除HTML5应用程序缓存清单,永久]的可能重复(http://stackoverflow.com/questions/8815280/removing-html5-appcache-manifest-permanently) –

+4

@KyleTrauberman这个问题,有人问2011年10月29日。你提出的重复问题在今年(2012年)被问到,问了这个问题后。 – Trott

+2

有趣。我没有选择它,它是由新的测试评估系统自动建议的。它看起来像一场精彩的比赛,所以我投了赞成票。 –

回答

28

您只需从服务器上删除appcache清单。如果浏览器无法访问清单文件,它将停止缓存您的应用程序并删除所有缓存的数据。

从两个站点的一些有用的信息:

如果清单文件本身不能被检索,缓存将忽略 和与之相关联的所有缓存数据将被忽略。

http://appcache.offline.technology/

应用程序缓存也可能过时。如果从服务器上删除清单 ,则浏览器将删除使用该清单的所有应用程序缓存 ,然后向“应用程序缓存”对象发送“已废弃”事件。然后应用程序缓存的状态将 设置为OBSOLETE。

https://developer.mozilla.org/en/Offline_resources_in_Firefox

+1

删除之后,可以用这行js来测试它;当被删除的清单中的404返回时,这会被触发: appCache.addEventListener('obsolete',handleCacheEvent,false); – albert

+0

也许你可以帮我吗? http://stackoverflow.com/questions/9287044/my-html5-application-cache-manifest-is-caching-everything – Neo

+1

这在Firefox中并不适用于我。 Firefox在收到404后继续使用缓存的appcache。解决方法如下:http://stackoverflow.com/a/31083156/119975 –

21

,任何人碰到这个问题来了,谁已经删除的应用程序缓存清单,删除浏览器的缓存和删除清单从服务器,并在HTML中对它的引用:如果这仍然没有不会导致您的HTML文档在Google Chrome中加载更新版本,您可以在浏览器中访问chrome:// appcache-internals/,然后点击您希望摆脱的清单旁边的REMOVE。

+1

我可以想象发生这种情况的唯一情况是,如果您没有设置常规HTTP缓存过期为您的清单立即到期。另外,也许还有一点小问题,但这个答案并不是真正的答案。这是“如何从我的浏览器中删除它”的答案,而不是如何为访问我的网站的每个人删除它。 Chrome用户仍然非常有用的信息! – Trott

2

在现代Firefox中你可以用编辑高级网络操纵脱机缓存。

在窗口现在是(v27。01)工具选项高级网络

6

手动删除应用程序缓存:仅适用于Chrome的

在Chrome浏览器中输入如下网址:chrome://appcache-internals/

有你将会看到您存储的每个应用程序缓存列表,并可能删除它们中的任何一个。

Reference