【问题标题】:Removing HTML5 Appcache Manifest, Permanently永久删除 HTML5 Appcache Manifest
【发布时间】:2012-02-07 13:45:36
【问题描述】:

我在一个站点上设置了一个应用程序缓存,不久之后我意识到它的方式比我意识到的更激进。我想删除它。永久。

我已经读过,使用正确的 MIMETYPE 传递已更改的清单文件(完全为空)将删除缓存。 编辑:见下文。 Maurice 的回答是唯一一致的解决方法。

这是最快、最有效的解决方案吗?有没有更好的办法?

如果您可以在回答时指定您之前是否实际使用过此功能,我将非常感激 - 模棱两可的文档和测试期间未显示的古怪是让我陷入这种情况的原因。

【问题讨论】:

    标签: html html5-appcache


    【解决方案1】:

    截至 2015 年 6 月 25 日,我发现返回 404 不会清除 Firefox 的现有 appcache,返回空白 appcache 不会清除 Chrome 的现有 appcache。返回以下 appcache 似乎在 IE、Chrome、Safari 和 Firefox 中有效,尽管尚不清楚通过什么机制禁用 index.html 的“隐式”缓存。

    NETWORK:
    *
    
    CACHE:
    FALLBACK:
    

    【讨论】:

    • 这应该被接受为正确答案。感谢分享!
    • 缓存必须CACHE MANIFEST 开头,然后是符合规范的新行。至于“禁用index.html的'隐式'缓存”,我知道的唯一解决方案是包含一个隐藏的iframe,并在iframe中声明清单(然后iframe中的页面将被缓存)。我实际上并没有尝试过,但我将其视为一种解决方案。
    【解决方案2】:

    如果您只想将其从您身边移除,您可以从浏览器中执行此操作。我只记得如何在 Chrome 中进行操作。转到 chrome://appcache-internals/ 并删除所需的文件。您还可以清除缓存和 cookie,这应该可以。不过,我只在 Chrome 中进行了测试。

    如果您想为所有查看者删除它,我不知道他们是否有旧的缓存版本,但我知道像 Maurice 建议的那样,使用虚假链接保留属性是唯一的方法我知道;不过,我确信还有另一种方法,最有可能使用 jQuery。

    【讨论】:

    • 唯一对我有帮助的解决方案!谢谢!
    【解决方案3】:

    我遇到了类似的问题,我需要在更新失败后重置 appcache(即强制完全删除 appcache 以便可以从头开始重新构建)。

    基于 Maurice 的回答,我向用户展示了一个通常隐藏的链接,该链接打开一个非缓存页面,该页面仅写入一个 cookie 并将用户返回到前一个视图。这个 cookie 告诉服务器在下次请求 appcache 时返回 404,然后用户将进入正常的登录过程。当应用程序下一次成功运行时,它会清除 cookie 并恢复正常缓存。

    以这种方式使用 cookie 可以解决视图的主版本卡在 appcache 中的问题,从而难以将破坏性 url 注入 manifest="" 即清单 url 保持不变,但服务器响应除非另有说明,否则使用 404。

    【讨论】:

    • 有趣。虽然如果您最终想要保留 appcache,您只需更改清单,这将导致浏览器重新获取所有资产,就好像它重新开始一样。为了永久摆脱清单,莫里斯是正确的。
    • 我的建议实际上仅适用于登录后的应用程序,您可能会遇到使用正常程序(更改清单等)触发成功更新的困难。
    【解决方案4】:

    诀窍是首先将 HTML 页面中的清单 URL 更改为无效的内容,以便浏览器在加载时收到 404。确保同时更改原始清单,否则永远不会下载新的 HTML 页面。在浏览器无法下载新的清单 URL 后,您可以从 HTML 页面中完全删除清单设置。

    有点古怪,但这似乎是删除现有清单引用的唯一可靠方法。

    【讨论】:

    • 所以我其实是想设置,而不是去掉属性?
    • 先这样做,对原来的manifest进行修改否则页面将无法下载,然后刷新页面。这将破坏清单链接,之后您可以完全删除清单属性。
    • 知道了。非常感谢您的帮助。
    • @Maurice 是否必须更改清单 URL,或者原始清单 URL 是否可以只返回 404?
    • 从原始网址返回 404 就足够了。
    猜你喜欢
    • 2011-12-17
    • 2012-02-17
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    • 2021-03-15
    • 2013-06-20
    • 1970-01-01
    相关资源
    最近更新 更多