javascript - HTML5 应用程序缓存以编程方式删除

标签 javascript html html5-appcache cache-manifest

是否有任何选项可以使用 JavaScript 删除 HTML5 应用程序缓存?

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

  1. 使用空内容更新 list 文件 - 现有应用程序缓存无需任何资源即可使用
  2. 在现有 list 文件中包含虚拟 URL - 对于新的应用程序缓存将抛出 404 错误。但旧的应用程序缓存并未从浏览器引擎中完全删除
  3. 从 Chrome 开发者控制台中删除 - 如果我们想手动删除。

但我的要求是根据服务器的通知使用 JavaScript 以编程方式删除应用程序缓存。有没有任何选项可以实现此功能???

最佳答案

也许这可行。从服务器加载页面时,传递一个标志,指示是否希望页面中包含 list 属性。如果您在服务器上渲染 html,则将该标志传递给您正在使用的任何模板引擎。否则,根据该标志的值返回一个不包含 manifest 属性的不同 html 页面。

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

如果这不是您正在寻找的,也许我误解了您的要求?据我了解您的问题,客户端将收到来自服务器的通知,表明客户端不应再使用应用程序缓存,对吗?

您正在寻找的内容可能可以通过应用程序缓存事件或 list 文件的不同配置来完成,使用 fallback 部分或网络通配符,例如:

NETWORK:
*

我找到this成为优秀的资源。

关于javascript - HTML5 应用程序缓存以编程方式删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30060218/

相关文章:

html - CSS ticker 不能完全工作

html - 应用程序缓存在 IE 中的位置

html - 使 HTML5 应用程序可离线使用

javascript - 添加 href 属性后,ng-click 不适用于 Internet Explorer 中的 anchor 标记

javascript - 定义为参数的函数的闭包

javascript - 如何在不刷新网页的情况下播放歌曲?

jquery - 通过 ID 属性获取 TABLE outerHTML JQUERY

php - 如何调试IE11 CACHE

javascript - 当用户在此工作 javascript 评论框中提交评论时,如何添加用户图像和名称

javascript - Angular Firebase 数据库查询