服务工作者:仅在WiFi连接时才从缓存未命中网络中获取

时间:2017-09-05 10:48:09

标签: javascript http caching service-worker

我希望我的服务人员采用以下方法:

  • 咨询缓存
  • 如果缓存命中,则返回缓存资源
  • 如果是WiFi,则从网络中获取资源
  • 其他返回错误

我知道navigator.onLine,但这并不(据我所知)区分连接类型,只是表示客户端在线(无论如何)。

有没有办法在服务工作者中这样做?即使是一些狡猾的手段?对于

1 个答案:

答案 0 :(得分:0)

好的,所以我找到了navigator.connection,这似乎已经存在了一段时间,但是有了不完整的支持。实际上,它仅为supported from desktop Chrome 61,因此我发布此版本的Chrome浏览器不支持它。另一方面,Android Chrome显然已经支持了一段时间,这是我需要它的上下文。有关有用的代码段和实例,请参阅here

因此,要检查WiFi连接,可能会检查navigator.connection.type属性是否设置为'wifi'。