【问题标题】:Service Worker - Browser supportService Worker - 浏览器支持
【发布时间】:2020-03-02 05:41:22
【问题描述】:

CanIUseMDN 似乎不同意对服务人员的支持。在 Chrome 向remove 支持 appcach 的过程中,我们正在尝试确定迁移到 Service Worker 的影响。我们是否错误地阅读了以上两页?

我们针对设备/浏览器组合尝试了 Google 自己的 samples,但结果并不令人鼓舞。例如,“自定义离线页面”演示在 iOS Chrome (v80) 中失败,但它在 iOS Safari (12.4.5) 中运行。

Chrome 80 中的“选择性缓存”和“通过缓存读取”页面清楚地显示“当前浏览器不支持服务工作者”。它正在检查 if ('serviceWorker' in navigator) { em>,但其他样本没有显示这样的消息。

浏览器对 Service Worker 的支持令人困惑。是否有一个经过普遍测试的样本,我们可以将其用作不同设备/浏览器组合的基准。

【问题讨论】:

    标签: html cross-browser service-worker


    【解决方案1】:

    我就此询问了 Google 的 Jake Archibald,他回复了以下 SO 帖子,该帖子必须仍然有效。

    Chrome Service Worker iOS Support

    因此,Safari 显然是目前唯一的选择。我仍然想知道 Google 建议开发人员在删除对 AppCache 的支持后使用什么。

    Jake 继续表示,他们无法添加支持,因为 Apple 并未授予他们在 iOS 上的全部权利。但他提到 appcache 将继续照常工作。他的原话是

    “但是,由于 iOS 上的 Chrome 只是 Safari 的一个皮肤,因此 appcache 将继续工作,而它在 Safari webview 中工作。”

    【讨论】:

      【解决方案2】:

      仅在 iOS 上,Safari 支持服务工作者。如果它支持此代码,您可以测试浏览器

      if ('serviceWorker' in navigator) { /*supported*/  }
      

      【讨论】:

      • 你能不能给我一个官方链接。这将有助于我们向客户解释 Chrome 停止支持 appcache 时的情况。
      • 对不起,我也找不到这个的官方链接;你可以看看一些论坛。这是我现在找到的forums.developer.apple.com/thread/126923
      • 那个原始文件是2018年写的。:(
      猜你喜欢
      • 2018-06-11
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2019-12-03
      相关资源
      最近更新 更多