首先,我想说我没有使用HTML5的任何离线功能。
我有一个在iPhone上运行的网络应用程序。从safari中查看它时,一切都很顺利。
但是当我从主屏幕启动应用程序(删除导航栏)时,它可能会很慢。
我检查了Apache中的日志,似乎Safari在缓存资源(css / js / images)方面做得很好,Apache在需要时回答“304 Not Modified”。
但是,当Web应用程序作为“真实”应用程序(隐藏导航栏)运行时,这些资源不会被缓存,而Apache必须一遍又一遍地传输内容(响应代码200 Ok +内容),导致页面加载速度明显减慢。
如何防止此行为?我是否需要始终在Safari中运行我的webapp,即使它是从主屏幕启动的?
谢谢!
答案 0 :(得分:0)
我最终使用带有cache.manifest
文件的HTML离线存储。这一半解决了我的问题,因为未包含在缓存清单中的图像仍然没有被缓存(我不提前知道这些文件,因为它们包含在CMS中,所以这可能是任何东西)。不过,这对加载时间来说还是更好。