繁体   English   中英

HTML5 appcache以编程方式删除

[英]HTML5 appcache remove programmatically

是否可以使用javascript删除HTML5应用程序缓存?

这些是用于删除/禁用应用程序缓存的可用选项:

  1. 使用空内容更新清单文件-现有appcache可用,没有任何资源
  2. 在现有清单文件中包含虚拟url-它会为新的应用程序缓存抛出404。 但是旧的应用程序缓存并未完全从浏览器引擎中删除
  3. 从chrome开发者控制台中删除-如果我们要手动删除。

但是我的要求是根据来自服务器的通知,使用JavaScript以编程方式删除appcache。 有没有实现此功能的选项???

也许这可行。 从服务器加载页面时,传递一个标志,指示是否要在页面中包含清单属性。 如果在服务器上呈现html,则将该标志传递给您使用的任何模板引擎。 否则,根据该标志的值(不包含manifest属性)返回另一个html页面。

从服务器收到通知时,请使用?includeAppCache=false刷新该页面。

如果这不是您要找的东西,也许我误会了您的要求? 据我了解,您的客户端将收到来自服务器的通知,指示客户端不应再使用appcache,对吗?

您可以使用fallback部分或网络通配符通过appcache事件或清单文件的其他配置来完成所需的查找,例如:

NETWORK:
*

我发现是一个很好的资源。

我通过利用AppCache API中的Obsolete事件找到了解决方案。

仅使用版本更新下载Appcache:

修改appcache版本后,新文件将开始下载。 到那时,应用程序将不再等待阻止应用程序启动。 它通过使用现有的缓存文件(CSS,JS和操作文件)来工作。 但是新下载的静态文件(CSS,JS)将仅在重新启动时执行。

具有过时事件的Appcache下载:

无需更新appcache版本,我们可以创建新的appcache文件,并且相同的引用已添加到HTML文件中。 每当appcache文件状态为404或410时,它将返回过时事件。 在这种情况下,如果我们重新启动应用程序,则新的缓存文件将并行下载,并且应用程序将使用从网络下载的新文件,而不是从旧的缓存加载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM