ios - iPhone 离线 Web 应用程序和 Safari 是否共享相同的 HTML5 应用程序缓存?

标签 ios html safari mobile-safari application-cache

我有一个旨在用作 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/

相关文章:

css - Navbar 仅在 Safari 上全高拉伸(stretch)

javascript - 文本丢失样式(即使 css 显示它应该具有它),但如果代码在控制台上单步执行(包括 jsfiddles),则不会丢失样式

objective-c - NSURLConnectionDelegate 静态类包装器不调用函数调用 (ARC)

ios - Google AdMob 7 与 cocoapods 的集成

ios - fabric crashlytics 日志中缺少行号问题

ios - NSInputStream 和 NSOutputStream 问题

php - 如何抓取html+css

safari - iPadOS 13.1 的 Safari 上的 Fabric 安装程序页面未被识别为 "device"

javascript - 将 [URL] 和 [TITLE] 替换为当前 url 和标题

jquery - 我们可以在媒体查询中使用从 JQuery 中提取的图像高度吗?