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

发布于 2024-09-03 03:10:25 字数 197 浏览 4 评论 0原文

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

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

我在 Mac 上运行 Chrome 5.0.375.55。

非常感谢任何帮助。

I've written a webapp that has a manifest that includes all the javascript and images that it requires. Unfortunately, even when I change the manifest file, it doesn't seem to reload the javascript.

Is there a way to delete the webapp completely from Chrome? Clearing the browser cache doesn't seem to work.

I'm running Chrome 5.0.375.55 on a Mac.

Any help very gratefully received.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心如荒岛 2024-09-10 03:10:25

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

输入:

chrome://appcache-internals/

你就会幸运:)

Adding a get parameter like ?foo=12345 will treat your file as a different one and therefore recache it, but NOT clear any cache for the existing file.

Type:

chrome://appcache-internals/

and you'll get Lucky :)

﹏雨一样淡蓝的深情 2024-09-10 03:10:25

苹果对此有一些非常好的文档,虽然操作起来有点棘手,但它确实使整个清单过程更加透明。此外,我发现 Safari(尤其是 Mobile Safari)比 Firefox 更一致地显示这些事件响应;虽然 Chrome 应该非常接近 Safari,但我不太确定。

不过,问题的根源是:

  1. 清空清单或向清单添加/删除文件
  2. 加载应用程序
  3. 重新添加清单
  4. 重新加载应用程序。这是肮脏的方式,但我建议花时间阅读并实现 JS,这样您就可以确定清单正在更新。

Google 在此处。

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

来自 Apple:

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

cache = window.applicationCache;

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

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

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

window.applicationCache.update();

如果更新成功,则交换新旧缓存,如下:

window.applicationCache.swapCache();

Apple has some really good documentation on this, it is a bit tricky to get going but it does make the whole manifest process way more transparent. In addition, I find Safari (esp. Mobile Safari) shows these event responses more consistently than Firefox; not sure about Chrome though it should be pretty close to Safari.

The root of your question though:

  1. Empty the manifest or add/remove a file to the manifest
  2. load the app
  3. re-add the manifest
  4. Re-load app. This is dirty way but I recommend taking the time to read though and implement the JS and so you can see for sure the manifest is getting updated.

Google has a good post here.

Basically you can build a series of if else tests with the window.applicationCache.status for a clear look at what the system is doing.

From Apple:

For example, you get the DOMApplicationCache object as follows:

cache = window.applicationCache;

You can check the status of the application cache as follows:

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

If the application cache is in the UPDATEREADY state, then you can update it by sending it the update() message as follows:

window.applicationCache.update();

If the update is successful, swap the old and new caches as follows:

window.applicationCache.swapCache();
不离久伴 2024-09-10 03:10:25

它也缓存服务器端吗?尝试在 url 中添加像 ?foo=12345 这样的 get 参数,看看是否获得更新的文件。

Is it cached server side as well? Try adding a get parameter like ?foo=12345 to the url and see if you get the updated file.

贵在坚持 2024-09-10 03:10:25

没有(据我所知)

人们似乎希望提问者接受一个答案,但没有人真正回答过这个问题。我不是专家,但我已经搜索了很多,我认为“否”是正确的,并回答了所提出的问题。

No (as far as I know)

It seems that people want the questioner to accept an answer, but no one has actually answered the question. I am no expert, but I have been searching a lot, and I think "No" is correct, and answers the question as posed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文