【问题标题】:Turn off Application Cache with manifest使用清单关闭应用程序缓存
【发布时间】:2011-06-17 04:50:49
【问题描述】:

我正在编写一个使用“带有清单的应用程序缓存”的 HTML5 应用程序。

但是,在开发过程中,我想将其关闭。

我尝试从标记中删除清单属性,并将清单文件中的所有内容切换到网络。

虽然它确实在第一次更新时进行了更新,但所有子序列更新仍然是从缓存而不是服务器中读取的。

我可以看到 HTML 文件已经更新,标签上不再有 manifest 属性,但它仍然从缓存中加载。

一旦你设置了它,我似乎无法弄清楚如何关闭它,所以这是我的问题:

有没有办法在谷歌浏览器中关闭“应用程序缓存和清单”?

【问题讨论】:

标签: web-applications html google-chrome browser-cache


【解决方案1】:

在 Chrome 中,转到引擎盖下 -> 内容设置 -> Cookies -> 显示 cookie 和其他站点数据,应用程序缓存应显示在站点数据下方。

在 Firefox 中转到高级 -> 网络,具有应用程序缓存的站点列在底部的框中​​。

目前无法从服务器端完全删除或过期应用程序缓存。您可以做的最好的事情是明确告诉浏览器删除所有缓存的文件 - 只有一个网络部分的清单应该删除所有其他文件,但具有清单引用的文件本身将始终被缓存。

--编辑

这个答案不再完全正确。目前standard states

如果由于 404 或 410 响应或 等效...将缓存组标记为已过时。此缓存组不再 存在于处理 Document 对象以外的任何目的 已与缓存组中的应用程序缓存相关联。

即:删除manifest文件应该会导致appcache在浏览器下次尝试更新时被删除

【讨论】:

  • 我查看了那里,它所在的域没有任何内容。我猜这是因为它的应用程序缓存,而不是 cookie。
  • 我的错,我在错误的机器上查看了错误的浏览器。我能够从那里清除应用缓存,但我还发现您也可以通过访问以下内容来清除应用缓存:chrome://appcache-internals/
  • @HM2K 感谢 appcache-internals 链接,我不知道。
【解决方案2】:

删除开发计算机中的清单文件。

【讨论】:

    【解决方案3】:

    您可以通过“--disable-application-cache”命令行开关禁用 Chrome 中的应用程序缓存(这是在 Chrome 的开发通道中,使用 linux 构建...但我确定它是在测试版/标准频道和其他平台中相同):

    google-chrome --disable-application-cache
    

    【讨论】:

      【解决方案4】:

      我建议每次更改应用程序中的任何内容时,都必须更改清单文件,以便将您刚刚所做的最新修改考虑在内。

      当我说更改清单时,您可以在评论中更改版本号,如下所示:

      # version 1
      

      这种方式比每次都清理缓存更方便(同时丢失其他网站的其他信息,所以你需要一次又一次地登录......等等)

      【讨论】:

      • 这不合适。这不会“关闭”ApplicationCache,它只是在 2 次刷新后更新它。我正在尝试禁用它,现在我已经对其进行了测试,直到我准备好再次启用它。
      【解决方案5】:

      在使用带有清单的应用程序时,我创建了两个起始页面: - 包含清单信息的 index.html - 没有清单信息的 index.dev.html

      我通常在我的开发环境中从 index.dev.html 启动,这样我就可以在缓存妨碍的情况下进行调试。 调试完代码后,我会从 index.html 文件启动以确保正确配置了 appcache 文件。

      【讨论】:

        【解决方案6】:

        这在桌面和移动 Safari 中对我有用(也在主屏幕上) 我认为这可以在 Chrome 等其他 webkit 浏览器中运行。

        1. 将所有“.appcache”文件的服务器 MIME 更改为“text/cache-manifest”
        2. 添加到 html

        <html manifest="example.appcache">
        1. 使用这个“example.appcache”文件

        CACHE MANIFEST
        # 2016-01-07:v1.0.4
        
        # This is the default section for entries. Files listed under this header (or immediately after the CACHE MANIFEST) will be explicitly cached after they're downloaded for the first time.
        CACHE:
        
        
        # Files listed in this section may come from the network if they aren't in the cache, otherwise the network isn't used, even if the user is online. You can white-list specific URLs here, or simply "*", which allows all URLs. Most sites need "*".
        NETWORK:
        *
        
        # An optional section specifying fallback pages if a resource is inaccessible. The first URI is the resource, the second is the fallback used if the network request fails or errors. Both URIs must from the same origin as the manifest file. You can capture specific URLs but also URL prefixes. "images/large/" will capture failures from URLs such as "images/large/whatever/img.jpg".
        FALLBACK:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-29
          • 2023-04-10
          • 1970-01-01
          • 1970-01-01
          • 2014-07-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多