我正在编写一个使用“带缓存的应用程序缓存”的HTML5应用程序。
然而,在我开发的过程中,我想将其关闭。
我尝试从标记中删除manifest属性,并在清单文件中将所有内容切换到网络。
虽然它在第一次更新时确实更新了,但仍然从缓存而不是服务器读取所有子序列更新。
我可以看到HTML文件已更新,标签上不再有清单属性,但它仍然从缓存中加载。
一旦你设置它,我似乎无法弄清楚如何关闭它,所以这是我的问题:
有没有办法在Google Chrome中关闭“带缓存的应用程序缓存”?
答案 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浏览器中使用。
/ $ 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;
<html manifest="example.appcache">
&#13;