1

我一直在开发一个使用离线缓存的网络应用程序,部分原因是为了减少在使用时对服务器的调用次数。

我希望让登录页面加载并缓存所有资源,以便登录后面的所有页面都不必这样做。

我从服务器日志中注意到的是,尽管在登录页面加载时请求清单中的所有资源(图像、样式表、javascript 文件),但在用户登录并重定向到/workspace/Safari 之后(桌面和移动)似乎再次请求列出的样式表和 javascript 文件/workspace/,从而导致HTTP 304来自服务器。

虽然服务 a 的负担304很小,但我想知道是否有办法避免这些。我在 Chrome(开发通道)中测试了相同的代码,Chrome 仅在登录后再次请求缓存清单,仅此而已。

任何想法将不胜感激!提前致谢!

4

2 回答 2

0

我在 iOS 4.3.3 中发现了一个有趣的情况。我有一个在 iPad 上的 iOS 4.2 中运行的 HTML5 离线应用程序。但是我将我的 iPad 更新到 iOS 4.3.1,它不能再从主屏幕以离线模式运行。然而,当我看到“user593037”说它在 iOS 4.3.2 上运行时,我再次更新了我的 iPad,今天它在 iOS 4.3.3 上。

最初我的离线应用程序仍然无法离线工作。所以我回到了最基础的离线网页,我使用“cache.manifest”作为它工作的清单文件名。因此,似乎在 iOS 4.3.3 上,脱机缓存仅在用于缓存清单的文件名时才有效。我什至尝试使用 cache2.manifest 的文件名,但它无法脱机运行。

您还可以将“apple-mobile-web-app-capable”设置为“yes”,全屏运行它。

于 2011-05-10T07:48:46.527 回答
0

我注意到在我的离线应用程序中,主机页面(其中包含清单标记的页面)也必须在清单文件中(仅在 iPhone iOS 4.3 之后),这支持在航空公司/离线模式下启动。也许这也与您的问题有关。

我在 iOS 4.3 中遇到了离线模式的问题(阅读这篇文章以获得更多关于 4.3 问题http://www.theregister.co.uk/2011/03/15/apple_ios_throttles_web_apps_on_home_screen/的见解)但是当我更新到 4.3.2它再次起作用了。

于 2011-04-09T22:44:51.807 回答