网络-网络状态&网络速度

本文详细介绍了如何使用JavaScript监听网络状态(在线/离线)和网络速度,包括navigator.onLine和navigator.connectionAPI的使用,以及它们在不同浏览器的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



前言

本文主要记录如何监听网络状态和网络速度。


一、网络状态

获取当前网络状态:

navigator.onLine // true:在线  false:离线

监听事件:online(联网) 和 offline(断网)

window.addEventListener('online',function () {
    console.log('online')
  })
window.addEventListener('offline',function () {
    console.log('offline')
  })

二、网络速度

获取当前网络信息

navigator.connection // 返回 NetworkInformation 包含网络速度等信息

navigator.connection

  • downlink:0.35 ===> 当前网络连接估计下行速度
  • effectiveType:“2g” ===> 当前网络连接估计速度类型(slow-2g、2g、3g、4g)
  • onchange:null ===> 网络转换监听事件
  • rtt:1900 ===> 网络连接往返时间
  • saveData:false ===> 是否处于数据节省模式

监听网络变化

navigator.connection.addEventListener('change',()=>{
    console.log(navigator.connection.effectiveType)
    if (navigator.connection.effectiveType === '2g' || navigator.connection.effectiveType === 'slow-2g'){
      alert('当前网络状态不佳')
    }
  })

监听网络变化

navigator.connection在不同浏览器的兼容是不一样的

  • Chrome:从Chrome 61版本开始支持navigator.connection属性。
  • Firefox:从Firefox 59版本开始支持navigator.connection属性。
  • Safari:从Safari 12版本开始支持navigator.connection属性。
  • Edge:从Edge 79版本开始支持navigator.connection属性。
  • Internet Explorer:不支持navigator.connection属性。

需要注意的是,即使浏览器支持navigator.connection属性,也不能保证所有设备和操作系统都支持该属性。因此,在使用navigator.connection属性之前,最好先检查其是否存在,以及是否为undefined。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天将降大任于我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值