为什么缓存清单无法让移动Safari在桌面上按预期工作时缓存网站?

时间:2010-10-28 22:26:03

标签: iphone html5 caching offline

我在本地玩一个简单的网络应用程序,并且无法弄清楚为什么它没有在iPhone上正确缓存。我正在使用正确的MIME类型提供.manifest文件,并且该网站在桌面Safari,Chrome和Firefox上开启或关闭本地服务器时效果非常好。只有移动版Safari无法缓存网站。任何想法为什么会这样?

3 个答案:

答案 0 :(得分:4)

这似乎是一个iOS错误。

我发现如果您至少打开了一个Web视图并清除了浏览器缓存,则移动Safari将始终遇到应用程序缓存错误。我认为清除浏览器缓存会破坏缓存数据库。然后,对缓存数据库的所有访问都将失败。似乎浏览器仅在启动时创建此数据库。

要让应用程序缓存再次运行,请关闭所有的safari视图,最后通过返回主屏幕关闭浏览器。现在应用缓存应该工作。某些移动设备还需要打开和关闭。

如果你知道检测这种情况的方法,请告诉我。

答案 1 :(得分:0)

我有一个类似的问题,但是Safari和iPhone都没有工作,而IE和Firefox正在工作。原因很复杂。一个是HTML标签中单词“manifest”的拼写错误。愚蠢的错误和非常令人沮丧的IE和FF仍然脱机工作。另一个问题是我使用default.asp作为我的应用程序的主页面,而不是在清单中包含它。

我的应用是mydomain.com/myapp/,因此浏览器从未见过“default.asp”。另外,根据HTML5规范,主页面不需要在清单中,但显然Safari看起来有点不同......

答案 2 :(得分:0)

我可以确认在运行iOS 4.3的iPAD上也存在该错误。

我花了很长时间才能让离线应用程序缓存在iPad上运行。我可以确认上一篇文章中提到的解决方法是有效的。