有没有办法用javascript检测用户是否使用wifi或蜂窝数据?

时间:2018-02-24 20:43:49

标签: javascript connection navigator

我希望视频仅在用户连接到wifi时才能在网站上自动播放。我知道navigator.connection api - 但它在safari上不可用,而且它只告诉你连接的速度而不是类型。

1 个答案:

答案 0 :(得分:1)

截至 2020 年 12 月,Safari 未采取任何措施来实施 the Network Information API,正如您所指出的,它提供了 navigator.connection NetworkInformation object。真可惜,因为其他浏览器已经提供了多年。

这意味着在移动 Safari(或桌面 Safari,就此而言)上没有等效的 iOS 原生 Reachability API,因此您能做的最好的事情就是对我们进行非常 粗略的 hack,例如:

  • 查找用户的公共 IP 并尝试将其与蜂窝提供商的数据库进行匹配,或
  • 进行测试下载以粗略评估连接速度。

为完整起见,截至 2020 年 12 月,确实提供navigator.connection的浏览器according to the MDN是:

  • 桌面:
    • Chrome 61+
    • Edge 79+
    • Firefox,但如果用户已启用 dom.netinfo.enabled 首选项
    • 歌剧
  • 手机:
    • Android WebView 50+
    • Chrome Android 38+
    • Firefox Android 14+(与桌面版相同的警告)
    • Opera Android 37+
    • 三星互联网 3+

(Safari 和 Internet Explorer 是唯一明显缺少支持的主要浏览器。)