【问题标题】:How to get browser network information in javascript?如何在javascript中获取浏览器网络信息?
【发布时间】:2021-05-12 10:19:42
【问题描述】:

Network Information API 是一项实验功能。

是否有任何现有的方式来获取网络信息(例如 4g/5g/wifi、上行链路/下行链路、rtt、延迟)?我想在我的 React 组件中显示所有流行浏览器(chrome、firefox、safari)的信息。

const [networkInformation, setNetworkInformation] = useState({});

useEffect(() => {
  setInterval(() => {
    setNetworkInformation({
      networkType: getNetworkType(), // returns like 4g/5g/wifi,
      uplink: getUplink(), // returns like 100 for 100kbps
      downlink: getDownlink(), // same as uplink
      rtt: getRtt(), // returns like 75 for 75ms
    });
  }, 2000);
}, []);

return (<div>{JSON.stringify(networkInformation)}</div>);

getNetworkType、getUplink、getDownlink、getRtt如何实现?

【问题讨论】:

  • 不幸的是,要求工具、软件或场外资源对于 StackOverflow 来说是题外话。请参阅help center 了解更多信息。
  • @evolutionxbox 我在问如何在不使用 MDN API 的情况下编写 javascript 代码,你为什么认为我在问工具/软件?
  • 没有网络信息API就只剩下场外工具和库了。
  • @evolutionxbox 网络信息 API 现在只支持 chrome,如何获取 safari 和 firefox 的信息?
  • @AjeetShah PerformanceResourceTiming window.performance.getEntriesByType('resource') 怎么样?

标签: javascript frontend


【解决方案1】:
var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
var type = connection.effectiveType;
console.log(type);

type 将是您的连接类型。 想了解更多请点击here

【讨论】:

  • 我已经为 safari 和 firefox 测试过,它不返回信息
  • 是的,不支持 Safari 和 Firefox。这是一项实验性功能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
  • 1970-01-01
  • 2011-11-27
  • 1970-01-01
相关资源
最近更新 更多