【发布时间】:2012-11-05 23:03:25
【问题描述】:
我有一个使用缓存清单的 Web 应用程序。 简而言之,当我修改缓存清单时,除 Android (Galaxy S3) 之外的所有浏览器都将获取新文件并更新缓存。 它与 Iphone 和桌面 Chrome/Safari 浏览器一样工作。即使我将 Chrome 下载到 S3 上,它也可以正常工作。
似乎设备甚至缓存了清单文件,因此它似乎没有改变。我不确定。
有没有人知道为什么会发生这种情况?还是以编程方式使其工作?
提前致谢!
这里是代码(cache.appcache)。清单文件位于我项目的根目录中:
CACHE MANIFEST
# b749e3a4d167d44f1404d777732b5bjkjkf05207c59ab7ca
index.html
app.js
FALLBACK:
NETWORK:
*
我的 index.html 'html' 标签如下所示:
<!DOCTYPE HTML>
<html manifest="cache.appcache" lang="en-US">
清单就是这样。在我的 JS 代码中,我只有一个事件,它在检测到新清单时侦听“updateready”事件。 在所有浏览器中,当我更改清单的“版本”时会触发该事件,并获取新代码。在默认的android浏览器中,修改manifest后没有触发,我可以看到没有获取新代码。
【问题讨论】:
-
你在S3的其他浏览器中测试过吗?试试 Firefox 和 Opera Mobile 并发布你的结果。 Froyo 时代的 Android HTML 实现存在一些错误,但在 ICS/JB 中不知道。
-
是的,我刚刚将 Chrome 下载到 S3 上,它工作正常,所以它似乎与默认浏览器隔离..:( 有什么想法吗?
-
请参阅code.google.com/p/android/issues/detail?id=12128 并检查是否适用于您的情况。正如我所说,它来自 Froyo,但仍然开放 :-(
-
@rgrocha:您引用的问题与 29er 的问题无关。它指的是浏览器不使用缓存; 29er的问题是浏览器only使用缓存。
-
@29er:如果你能发表一些能说明问题的东西,这将有助于人们确定你的困难的根源。就目前而言,我们不知道您的缓存清单是什么样的,您正在对其进行什么样的更改等等。
标签: android browser-cache