美文网首页
Web中的网络问题

Web中的网络问题

作者: hellomyshadow | 来源:发表于2020-05-29 10:40 被阅读0次

navigator.onLine 用于检测浏览器是否连网,true/false
navigator.connection 用于检测网络状况;

    {
        onchange: null,
        effectiveType: "4g",
        rtt: 50,
        downlink: 2,
        saveData: false
    }

通过 navigator.connection 可以判断出online,fast 3g,slow 3g,和 offline,这四种状态下的effectiveType分别为4g,3g,2g,slow-2g(rtt,downlink均为0)

rttdownlink 反映网络状况,比effectiveType更加具象且更能反映当前网络的真实情况。
常见网络情况:

网络状况    rtt(ms)     downlink(Mbit/s)
online      100           2.2
fast 3g     600           1.55
slow 3g     2150          0.4
offline      0             0

注意:rttdownlink 不是定值,而是实时变化的。online时,可能它现在是rtt 100ms,2.2Mb/s,下一秒就变成125ms,2.1Mb/s了
rtt:连接预估往返时间,单位ms,值为四舍五入到 25ms 的最接近倍数(x%25 === 0),值越小网速就越快。在Web Worker中可用;
downlink:带宽预估值,单位Mbit/s(注意是Mbit,不是MByte),值也是四舍五入到最接近 25bit/s 的倍数。一般带宽速度越快,信道上可以传输更多数。值越大网速越快。在Web Worker中可用。

草案(Draft)阶段NetworkInformation API
无论是rtt,还是downlink,都是这个草案中的内容。 除此之外还有downlinkMax,saveData,type等属性。 所以要注意兼容问题。
NetworkInformation继承自EventTarget,可以通过监听change事件去做一些响应。

  • 监听网络状况的变更事件
var connection = navigator.connection
var type = connection.effectiveType

function updateConnectionStatus() {
  console.log("网络状况从 " + type + " 切换至" + connection.effectiveType)
  type = connection.effectiveType
}

connection.addEventListener('change', updateConnectionStatus)
  • 监听断网、连网的状况
window.addEventListener('online',  ev => {
    console.log('online: ', ev)
})
window.addEventListener('offline',  ev => {
    console.log('offline: ', ev)
})

相关文章

  • Web中的网络问题

    navigator.onLine 用于检测浏览器是否连网,true/false;navigator.connect...

  • web基础概述

    web基础概述 什么是web? web:网状物、通常在计算机术语中,指代网络的意思 web:网络 各种网络:...

  • 2018-04-09

    web基础概述 什么是web? web:网状物、在计算机术语中,通常指代网络的意思 各种网络的划分:根据网络中主机...

  • web面试问题和答案,你值得一看

    顶级Web Services面试问题的列表。你值得看看 1)什么是Web服务? Web服务是用于通过网络传送两个设...

  • web 中的 viewport 问题

    你是不是被 Web 布局中的各种 viewport 概念搞蒙,不但如此,你还得去考虑网页有放大缩小的情况,更气人的...

  • 「 图解HTTP 」 读书笔记 第一章

    了解 Web 及网络基础 1. 使用 Http 协议访问 Web Web 浏览器根据地址栏中的 URL,从 Web...

  • 爬虫的"盗亦有道"-Robots协议

    网络爬虫的君子协议 网络爬虫的尺寸 网络爬虫引发的问题 性能骚扰 法律风险 隐私泄露 网络爬虫的"性能骚扰"web...

  • 测试知识笔记

    Web问题定位 打开firebug 查看服务器响应数据(网络-XHR) 查看元素源码 查看JS Web兼容性测试 ...

  • 成都Web前端培训后还能找到工作吗?

    Web前端培训后还能找到工作吗?这是想要转行web前端开发的初学者在网络上搜索的问题。这是因为现在从web 2.0...

  • cookie*web beacon*session在网络爬虫中的

    web beacon和cookie的区别和定义 网络臭虫(Web bug)也称为网络信标(Web beacon),...

网友评论

      本文标题:Web中的网络问题

      本文链接:https://www.haomeiwen.com/subject/izqxzhtx.html