【发布时间】:2018-09-10 05:24:33
【问题描述】:
我现在正在测试 PWA 应用程序。
在 Android 中,它运行良好。 即使在进入后台后,PWA 应用仍会保持状态,用户可以继续他们的体验。
但在 iOS 中,每次 PWA 应用程序进入后台后,它都会被初始化,并且每个条件都会像重新加载一样被粉碎。 用户体验已终止。
如何在 iOS 中防止这种情况发生?
【问题讨论】:
标签: ios mobile-safari progressive-web-apps
我现在正在测试 PWA 应用程序。
在 Android 中,它运行良好。 即使在进入后台后,PWA 应用仍会保持状态,用户可以继续他们的体验。
但在 iOS 中,每次 PWA 应用程序进入后台后,它都会被初始化,并且每个条件都会像重新加载一样被粉碎。 用户体验已终止。
如何在 iOS 中防止这种情况发生?
【问题讨论】:
标签: ios mobile-safari progressive-web-apps
更新: 使用最新版本的 iOS(我用 12.4 测试过),PWA 状态被保留。感谢 Leox 和 Roshil 与另一个版本确认相同。
处理旧版本 iOS/Safari 的原始答案:
As mentioned in this article,iOS 仍然不会在会话之间保留 PWA 应用程序的状态 :( 由于对服务工作者的第一次官方支持仅在一周前(2018 年 3 月下旬)在 iOS 中出现,我们可以期待看到更多功能,例如在未来保留状态。
我们现在运气不好。
您还可以在链接文章中查看“PWA 可以在 Android 上而不是在 iOS 上做什么”部分,其中介绍了 android 和 iOS 之间在 PWA 方面的当前差距。
作为一种解决方法,您可以在 IndexDB 中保持应用程序的状态(当前页面、用户填充数据、滚动开始,如果可能),当应用程序重新打开时,您可以读取它来恢复它。它适用于几乎大多数用例。
【讨论】:
现在您可以将您的 iOS 更新到 12.2 beta 5 以在 PWA 应用从最小化状态恢复后保持其状态。感谢苹果!
【讨论】: