Web applications 使用清单关闭应用程序缓存

Web applications 使用清单关闭应用程序缓存,web-applications,html,google-chrome,browser-cache,Web Applications,Html,Google Chrome,Browser Cache,我正在编写一个HTML5应用程序,它使用“带清单的应用程序缓存” 然而,当我在开发时,我想关闭它 我尝试从标记中删除manifest属性,并在manifest文件中将所有内容切换到网络 虽然它在第一次更新时进行了更新,但所有子序列更新仍然是从缓存而不是从服务器读取的 我可以看到HTML文件已经更新,标记上不再有manifest属性,但它仍然从缓存加载 我似乎不知道如何在设置后关闭它,所以我的问题是: 有没有办法关闭Google Chrome中的“应用程序缓存带清单”功能?在Chrome中,转到引

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

然而,当我在开发时,我想关闭它

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

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

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

我似乎不知道如何在设置后关闭它,所以我的问题是:


有没有办法关闭Google Chrome中的“应用程序缓存带清单”功能?

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

在Firefox go to Advanced->Network中,底部的框中列出了具有应用程序缓存的站点

目前无法从服务器端完全删除应用程序缓存或使其过期。最好的方法是显式地告诉浏览器删除所有缓存的文件-只有一个网络部分的清单应该删除所有其他文件,但是带有清单引用的文件本身将始终被缓存

--编辑

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

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


也就是说:删除清单文件会导致appcache在下次浏览器尝试更新时被删除。我建议每次您更改应用程序中的任何内容时,您也必须更改清单文件,以便考虑您刚才所做的最新修改

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

# version 1

这种方式比每次清理缓存更方便(同时丢失其他站点的其他信息,因此您需要反复登录…等等)

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

您可以通过“-禁用应用程序缓存”在Chrome中禁用应用程序缓存命令行开关(这是在Chrome的dev通道中,使用linux构建…但我确信在beta/标准通道和其他平台中也是一样的):


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

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

这在桌面和移动Safari(也在主屏幕)中对我有效 我认为这可以在其他webkit浏览器(如Chrome)中使用

  • 将所有.appcache文件的服务器MIME更改为“文本/缓存清单”
  • 添加到html

  • 这不合适。这不会“关闭”ApplicationCache,它只是在刷新2次后更新它。我正在试图禁用它,现在我已经测试了它,直到我准备再次启用它。我在那里查看,它所在的域没有任何内容。我想这是因为它的应用程序缓存,而不是cookies。我的错误是,我在错误的机器上查看了错误的浏览器。我可以从那里清除appcache,但我还发现您也可以通过访问来清除appcache:chrome://appcache-internals/@HM2K感谢appcache内部链接,我不知道。相关:
    google-chrome --disable-application-cache