OGeek|极客世界-中国程序员成长平台

标题: iOS 12 不支持部分 PWA 的离线功能 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:51
标题: iOS 12 不支持部分 PWA 的离线功能

iOS 12 Safari 不支持某些 PWA(Progressive Web App)的离线功能。看起来 Safari 没有正确缓存这些网络应用程序中的资源。

例如,以下 PWA 无法在 iOS 12 和 12.1 中离线工作,但它们都可以在 Android 或 Windows 上的 Chrome 中完美运行:

google用来演示Service Worker的Air Horner PWA:
Air Horner

还有这两个:
2048 puzzle
Voice Memos

重现步骤(100% 可重现):

  1. 使用 Safari(iOS 12 或 12.1)访问 PWA
  2. 在 Safari 中关闭 PWA 选项卡
  3. 在 iPhone 上按下主页按钮将 Safari 设置为后台
  4. 按下 iPhone 电源按钮关闭屏幕
  5. 再次按下 iPhone 电源键唤醒手机
  6. 关闭来自 iPhone 控制中心的所有网络连接(wifi 和蜂窝网络)
  7. 打开 Safari,再次访问 PWA --> 网页应用加载失败

这一直困扰着我很长时间,因为我自己的网络应用程序也有类似的问题 - 在 Android/Windows 上的 Chrome 中运行良好,但在 iOS 12 Safari 上仅失败。知道 iOS 12 Safari 有什么特别之处吗?非常感谢!



Best Answer-推荐答案


我遇到了同样的问题,在没有 Workbox 的情况下使用 service worker 解决了这个问题 - 应用程序在没有互联网连接的情况下启动,但缓存出现问题 - 它无法正常工作。

关于iOS 12 不支持部分 PWA 的离线功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53439379/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4