浏览器监听网络状态

Navigator:connection

Navigator.connection 只读属性返回一个包含有关系统网络连接信息的 NetworkInformation 对象,例如用户设备的当前带宽或连接是否按流量计费。
这可以用于基于用户的连接状态来选择高清晰度内容或低清晰度内容。

connection返回的基本属性有:

  • downlink:下载速度,单位Mb/s
  • effectiveType:网络类型,是根据下载速度和带宽延迟来决定,不准但具有参考意义
  • rtt:返回了当前连接下评估的往返时延,单位毫秒,表示网络延迟

Navigator:onLine

返回true表示在线

编码示例:

/**
 * 获取网络状态
 * @returns {{type: string}|{rtt: *, downlink: *, type: *}}
 */
function getNetworkInfo() {
  let info;
  if (navigator.onLine) {
    info = {
      type: navigator.connection.effectiveType,
      rtt: navigator.connection.rtt,
      downlink: navigator.connection.downlink,
    };
  } else {
    info = {
      type: 'offLine',
    };
  }
  return info;
}

export function updateInfo() {
  const info = getNetworkInfo();
  console.log(info);
  //做一些提示网络离线之类的更新操作
}

//在线或离线的时候更新网络状态
window.addEventListener('online', updateInfo);
window.addEventListener('offline', updateInfo);
//网络变化时更新网络状态
navigator.connection.addEventListener('change', updateInfo);

//更细一点可以使用定时器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值