使用清单关闭Application Cache

时间:2011-01-28 11:42:55

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

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

然而,在我开发的过程中,我想将其关闭。

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

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

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

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

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

6 个答案:

答案 0 :(得分:21)

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

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

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

- 修改

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

  

如果由于404或410响应或提取而导致清单失败   等效...将缓存组标记为已过时。此缓存组不再   存在用于处理Document对象以外的任何其他目的   已经与缓存组中的应用程序缓存关联。

即:删除清单文件应导致下次浏览器尝试更新时删除appcache

答案 1 :(得分:3)

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

答案 2 :(得分:1)

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

google-chrome --disable-application-cache

答案 3 :(得分:0)

我建议您每次更改应用程序中的任何内容时,都必须更改清单文件,以便更新您刚刚进行的修改。

当我说更改清单时,您只需更改评论中的版本号,如下所示:

# version 1

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

答案 4 :(得分:0)

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

我通常在我的开发环境中从index.dev.html启动,因此我可以使用缓存进行调试。 调试代码后,我从index.html文件启动,以确保我正确配置了appcache文件。

答案 5 :(得分:0)

这适用于桌面和移动Safari(也适用于主屏幕) 我认为这可以在Chrome等其他webkit浏览器中使用。

  1. 将服务器MIME更改为" text / cache-manifest"为所有" .appcache"文件
  2. 添加到html
  3. 
    
    / $ whoami
    nonpriv
    / $ ssh localhost
    Welcome to Alpine!
    
    The Alpine Wiki contains a large amount of how-to guides and general
    information about administrating Alpine systems.
    See <http://wiki.alpinelinux.org>.
    
    You can setup the system with the command: setup-alpine
    
    You may change this message by editing /etc/motd.
    
    d4dded05c2d1:~$ 
    
    &#13;
    &#13;
    &#13;

    1. 使用此&#34; example.appcache&#34;文件
    2. &#13;
      &#13;
      <html manifest="example.appcache">
      &#13;
      &#13;
      &#13;