我有一个旨在用作 iOS 离线网络应用程序的网络应用程序。该应用程序的一个关键功能是用户可以下载扩展名为 .doc、.ppt、.pdf 等的文件。为了使这些文件可以离线使用,我正在为缓存 list 中的任何此类文件创建条目。
另一个警告:打开这些文件的最用户友好的方法是跳出离线网络应用程序并进入 Safari 以实际打开文件。通过这种方式,我获得了 Safari 提供的“在 {{Application}} 中打开”选项。在从离线网络应用程序切换到 Safari 的过程中似乎出现了某种断开连接。
假设从头开始:
- 我已经使用“设置”->“Safari”->“高级”清除了该站点的所有数据。
- 我在连接到服务器时启动离线网络应用程序(因此我们处于在线模式。)
- 应用更新缓存成功。
- 我关闭网络应用并断开与服务器的连接。
- 我重新启动应用程序,所有导航 chrome 都正常工作,所以我们知道缓存运行正常。
- 我点击链接打开需要 Safari 的文件,因此 iOS 切换到 Safari 并转到文件的 URL。
- Safari 提示“Safari 无法打开页面,因为找不到服务器。”
那么,这个应用程序缓存似乎可以从离线网络应用程序访问,但不能从 Safari 访问?谁能验证一下?
然后继续前进,如果事实确实如此:有什么更好的方法吗?谢谢!
最佳答案
iOS Safari 的工作方式与 Safari 相同。但我假设你的 iOS Safari 没有加载成功,你知道,iPhone 的网络不如你的 PC 快。您必须附加处理程序以确定何时成功加载离线数据。
查看:http://www.html5rocks.com/en/tutorials/appcache/beginner/并尝试使用JS查看ApplicationCache的状态。
关于ios - iPhone 离线 Web 应用程序和 Safari 是否共享相同的 HTML5 应用程序缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866544/