iOS 12 不支持部分 PWA 的离线功能

2023-12-21

iOS 12 Safari 不支持某些 PWA(渐进式 Web 应用程序)的离线功能。 Safari 似乎没有正确缓存这些网络应用程序中的资源。

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

谷歌用来演示 Service Worker 的 Air Horner PWA:
空气喇叭 https://airhorner.com

还有这两个:
2048 谜题 https://2048-opera-pwa.surge.sh
语音备忘录 https://voice-memos.appspot.com

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

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

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


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 12 不支持部分 PWA 的离线功能 的相关文章

随机推荐

  • ArticlesController#show 中的 ActiveRecord::RecordNotFound 无法找到没有 ID 的文章

    我正在尝试向数据库提交一些数据 但当我尝试检索这些数据时 显示无法找到没有 ID ils 4 0 1 的文章 我正在使用 ruby 2 0 0 和 ra def show article Article find params id end
  • 阻止 iPhone 缩放表格? [复制]

    这个问题在这里已经有答案了 代码
  • Scala 转换为泛型类型

    我对泛型类型感到困惑 我预计2 asInstanceOf A 被强制转换为类型A 同时 它被投射到Int 除此之外 输入是java lang Long而输出是一个列表Int 根据定义输入和输出应该是相同的类型 这是为什么 def whate
  • 如何在C#中使用Webclient填写表单并提交

    我是在 C 中使用 WebClient HttpResponse 和 HttpRequest 库的新手 所以如果我的问题读起来令人困惑 请耐心等待 我需要构建一个基于 C 的 WinForm 它可以打开一个 URL 该 URL 受到基本授权
  • 0/1 重量不合理的背包

    考虑0 1背包问题 http en wikipedia org wiki Knapsack problem 标准动态规划算法仅适用于背包的容量和重量均为整数 有理数时 当容量 重量不合理时怎么办 问题是我们不能像处理整数权重那样记忆 因为我
  • plsql 远程调试断点不起作用

    我在调试 pl sql 代码时遇到了奇怪的情况 我将 sql Developer 设置为侦听调试连接 在java代码中 我使用以下代码附加调试器 CallableStatement cstmt null try cstmt getConne
  • Android – 如何加载共享库?

    我创建了最简单的 EXECUTABLE 和 SHARED LIBRARY 如果不更改 LD LIBRARY PATH 则不会加载 SHARED LIBRARY hello hello link image 1995 failed to li
  • cv::Mat 到 QImage 转换

    我发现了非常相似的主题 如何将 opencv cv Mat 转换为 qimage https stackoverflow com questions 5026965 how to convert an opencv cvmat to qim
  • bash脚本循环多个变量

    我正在尝试写类似以下内容 for i in a z j in 1 26 do echo dev sd i 1 disk j ext4 noatime 1 1 gt gt test done 当然 这不是正确的语法 有人可以帮助我使用正确的语
  • 在运行时从 iOS 上的本机方法创建委托

    这是一个MonoTouch 专用问题 我目前正在开发一个 OpenGL 的包装器 它与 OpenTK 等包装器有很大不同 该包装器用于实现更快的 OpenGL 开发 方法不是这样声明的 void glGenTextures Int32 n
  • 创建一个php函数来返回mysql结果

    我试图创建一个函数 它将返回一个 mysql 查询 然后我可以循环遍历并处理结果 但它似乎不起作用 我什至可能没有以正确的方式这样做 function GetAccounts username require dbconn php resu
  • 无法在 Kafka 中使用来自远程计算机的消息

    我在我的一台机器上创建了一个kafka主题 其IP为192 168 25 50 主题名称为test poc 然后通过使用 kafka console Producer 我生成了如下消息 kafka console producer brok
  • 装有 iOS 6 AVAudioPlayer 的 iPhone 4S 可以工作,但没有声音

    我创建了一个简单的音频应用程序来播放 mp3 文件 它在模拟器 iOS 5 和 6 和 iPod3GS iOS 5 1 上运行没有问题 但是当我在 iPhone4S iOS 6 上尝试时 它似乎可以工作 但没有任何声音 audioPlaye
  • Pharo 有 CAS 吗?

    在学习Python时 我发现了SymPy模块 它实际上是一个完整的计算机代数系统 CAS 你可以用它来解决数学中的符号问题 比如微分方程 多项式等等 现在我正在学习 Pharo 我想知道是否有一种方法可以在 Pharo 中进行符号数学运算
  • ctrl+space 键绑定不适用于 Sublime Text 3 中的注释

    安装 Sublime Text 3 Build 3059 后 我尝试像过去一样配置一些按键绑定 所以我在 首选项 按键绑定 用户 中配置了这个 keys ctrl space command toggle comment args bloc
  • 在 SwiftUI 中绘制动画路径描边

    要为过去的路径设置动画 我可以这样做 let pathLayer CAShapeLayer let pathAnimation CABasicAnimation keyPath strokeEnd pathLayer path path c
  • 获取输入框中选定的文本

    是否可以使用 jQuery 或 vanilla JavaScript 获取网站输入框中选定的文本 我尝试过var selectedText window getSelection toString 但这段代码只能获取 a 中的文本段落并且不
  • 检查今天的日期是否在其他两个日期之间[重复]

    这个问题在这里已经有答案了 我想检查今天的日期是否在一个时期的开始日期和结束日期之间 冬天 夏天 春天等 如果今天的日期介于冬季期间 它会将 season 变量设置为哪个时期 但目前它只给我 01 01 我不明白为什么 感谢帮助 seaso
  • 如何使用 requirejs 分解部分淘汰视图模型

    我目前正在开发一个应用程序 由于功能太多 该应用程序正在不断扩展 这里我将提供一些示例代码以供理解 function test var self this Define Properties self TaskSection ko obse
  • iOS 12 不支持部分 PWA 的离线功能

    iOS 12 Safari 不支持某些 PWA 渐进式 Web 应用程序 的离线功能 Safari 似乎没有正确缓存这些网络应用程序中的资源 例如 以下 PWA 无法在 iOS 12 和 12 1 中离线工作 但它们在 Android 或