【问题标题】:Is there a way to detect whether user is on wifi or cellular data with javascript?有没有办法用javascript检测用户是在wifi还是蜂窝数据上?
【发布时间】:2018-02-24 20:43:49
【问题描述】:

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

【问题讨论】:

标签: javascript connection navigator


【解决方案1】:

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

这意味着在移动 Safari(或桌面 Safari,就此而言)上没有等效的 iOS 原生可达性 API,所以你能做的最好的就是给我们一个 非常 粗略的 hack,比如:

  • 查找用户的公共 IP 并尝试将其与手机提供商数据库相匹配,或者
  • 进行测试下载以大致衡量连接速度。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2012-11-17
    相关资源
    最近更新 更多