1

我有一个旨在用作 iOS 离线网络应用程序的网络应用程序。该应用程序的一个关键功能是用户可以下载带有 .doc、.ppt、.pdf 等扩展名的文件。为了使这些文件可以离线使用,我在缓存清单中为任何此类文件创建条目。

另一个警告:我可以打开这些文件的最用户友好的方式是跳出离线网络应用程序并进入 Safari 以实际打开文件。这样,我得到了 Safari 提供的“在 {{Application}} 中打开”选项。在从离线 Web 应用程序切换到 Safari 的过程中,似乎存在某种断开连接。

假设一张白纸:

  • 我已经使用设置->Safari->高级擦除了该站点的所有数据。
  • 我在连接到服务器时启动了离线网络应用程序(所以我们处于在线模式。)
  • 应用程序成功更新缓存。
  • 我关闭 Web 应用程序并断开与服务器的连接。
  • 我重新启动应用程序,所有导航栏都正常工作,所以我们知道缓存运行正常。
  • 我单击链接打开需要 Safari 的文件,因此 iOS 切换到 Safari 并转到文件的 URL。
  • Safari 显示“Safari 无法打开页面,因为找不到服务器。”

那么,似乎可以从离线 Web 应用程序访问此应用程序缓存,但不能从 Safari 访问?任何人都可以验证这一点吗?

然后继续前进,如果情况确实如此:有什么更好的方法吗?谢谢!

4

1 回答 1

1

iOS Safari 的工作方式与 Safari 相同。但我假设你的 iOS Safari 没有成功加载,你知道,iPhone 的网络不如你的 PC 快。您必须附加处理程序以确定何时成功加载脱机数据。

查看:http ://www.html5rocks.com/en/tutorials/appcache/beginner/并尝试使用 JS 来检查 ApplicationCache 的状态。

于 2012-04-15T06:08:40.180 回答