随着 Apple 几个月前宣布 Service Worker 支持 iOS 11.3,我最近开始尝试让 Service Worker 在 iOS 上工作。在 Safari 上,它按预期工作,访问网站后,它可以离线工作。然而,当我尝试在 Chrome 中使用相同的功能时,我得到了间歇性的结果。具体来说,Service Worker 只会每隔一个页面刷新一次,离线后的原始刷新就是其中之一not在职的。
我知道 iOS 上的 Chrome 是基于 Safari 版本构建的,因此我对这种行为感到困惑。
这是因为 Chrome iOS 对 Service Workers 的支持不完整吗?因为它是 iOS 上的 Chrome,所以我也不确定是否有任何简单的方法来调试它,因此任何其他有助于追踪问题的提示将不胜感激。谢谢你!
iOS 版 Chrome 不支持 Service Worker目前(截至 2020 年 4 月),如果您对此感兴趣,“添加到主屏幕”选项也不可用。您遇到的任何离线页面加载都应该来自常规浏览器缓存。
这是官方文档来自 Apple 的 web-kit 页面。
Update: 这篇文章的前一个版本阐述了 Service Worker API
在所有使用 WKWebView 的应用程序中都可用。此时正是
仅在 Safari 中可用,使用的应用程序
SFSafariViewController 和保存到您家中的 Web 应用程序
屏幕。
值得注意的是,Chrome 在 iOS 中使用 WKWebView 作为其浏览器引擎,根据上述声明(您可以在上面提供的链接中找到),该引擎尚不支持 Service Worker。因此,在 iOS 中使用 Service Worker 的唯一方法是使用 Safari 浏览器或在本机应用程序中使用上述支持的 Web 视图之一。
这是一篇文章iOS 仍然缺少所有 PWA 功能。请记住,这是一个快速增长的领域。请务必检查现在是否适用,特别是当文档/文章越来越旧时。
这是一个适配器帮助在 Chrome 开发工具中调试加载 iOS - webkit/safari 的页面。希望有一天它能像 Android Chrome 调试一样简单!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)