我可以在Chrome中清除网络应用吗?

时间:2010-05-25 20:43:00

标签: web-applications google-chrome manifest

我编写了一个包含清单的webapp,其中包含所需的所有javascript和图像。不幸的是,即使我更改清单文件,它似乎也没有重新加载javascript。

有没有办法从Chrome中完全删除网络应用?清除浏览器缓存似乎不起作用。

我在Mac上运行Chrome 5.0.375.55。

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:160)

添加像?foo=12345这样的get参数会将您的文件视为另一个参数,因此会重新缓存它,但不清除现有文件的任何缓存。

类型:

chrome://appcache-internals/

你会幸运的:)

答案 1 :(得分:2)

它也是缓存服务器端吗?尝试将一个get参数(如?foo = 12345)添加到网址,看看是否获得了更新的文件。

答案 2 :(得分:2)

Apple在这方面有一些非常好的文档,它有点棘手,但它确实使整个清单过程更加透明。此外,我发现Safari(特别是Mobile Safari)比Firefox更一致地显示这些事件响应;不确定Chrome虽然它应该非常接近Safari。

问题的根源:

  1. 清空清单或将文件添加/删除到清单
  2. 加载应用
  3. 重新添加清单
  4. 重新加载应用。这是一种肮脏的方式,但我建议花时间阅读并实现JS,这样你就可以确定清单正在更新。
  5. Google发表了一篇好文章here

    基本上,您可以使用if else构建一系列window.applicationCache.status测试,以便清楚地了解系统正在执行的操作。

    来自Apple:

    例如,您可以按如下方式获取DOMApplicationCache对象:

    cache = window.applicationCache;
    

    您可以按如下方式检查应用程序缓存的状态:

    if (window.applicationCache.status == window.applicationCache.UPDATEREADY)...
    

    如果应用程序缓存处于UPDATEREADY状态,则可以通过向其发送update()消息来更新它,如下所示:

    window.applicationCache.update();
    

    如果更新成功,请按如下方式交换旧缓存和新缓存:

    window.applicationCache.swapCache();
    

答案 3 :(得分:0)

不(据我所知)

似乎人们希望提问者接受答案,但实际上没有人回答过这个问题。我不是专家,但我一直在寻找,我认为“不”是正确的,并回答了提出的问题。