【发布时间】:2019-09-23 08:55:07
【问题描述】:
我通过 safari 及其“添加到主屏幕”选项安装了一个自定义渐进式网络应用程序。
如果我在没有互联网连接的情况下导航到特定页面,我会按预期获得 safari 的本地离线页面。该页面显示以下消息:
Safari 无法打开该页面,因为您的 iPhone 未连接到 Internet。
如果我再次打开互联网连接,PWA 仍会显示原生 safari 离线页面,使用户无法重新加载页面或导航到另一个页面。
简而言之,如果我在没有互联网连接的情况下访问我的 PWA 一次,PWA 将永远显示 safari 的原生离线页面。
这是 iOS 12.2 上渐进式 Web 应用程序的预期行为吗?
我的 Service Worker 如下所示:
self.addEventListener('fetch', (evt) => {
return;
});
即使我按照article 中的描述提供自定义离线页面,如果我再次打开互联网连接,PWA 仍会卡在离线页面上。
【问题讨论】:
-
我注意到与我一直在测试的 iOS PWA 完全相同的行为。即使我强制关闭它并再次打开它,它仍然显示消息。但是,如果我重新启动 iPhone XS Max,它确实可以正常工作。您是否提交了错误报告?
-
我向 Apple iPhone 反馈页面提交了以下内容(使用你的一些话):“如果我在没有互联网连接的情况下访问我的 PWA 一次,PWA 将永远显示 Safari 的原生离线页面(或直到我重新启动 iPhone)。”
-
@user1946932 感谢您的帮助。是否可以发布错误报告的公共链接?作为一种解决方法,我正在处理缓存的自定义离线页面,其中包括重新加载页面或导航到另一个 url 的按钮。如果效果好的话,我将在此处发布指南。无论如何,我很想知道这是否是一个实际的错误,如果您离线访问它们一次,它将使许多渐进式 Web 应用程序(没有自定义缓存策略和离线页面)无用。
-
我刚刚在 apple.com/feedback/iphone.html 提交了它。如果一切顺利,我们也很想看看您的指南。
-
到目前为止,您的解决方法是否成功?