使用 JS 检测网络问题

问题描述

试图用 JS 实现一个棘手的互联网连接检测器,但遇到了一个拦截器。这个想法是我使用 ping/pong 方法来查看我是否在线。它适用于在线/离线模式,但我需要“稍微”扩展一下。

离线可能是因为两件事:

  1. WiFi 已关闭或互联网电缆已拔下;
  2. WiFi 已开启或 Inter Cable 已插入,但由于某些原因我无法连接互联网。

所以,基本上第二点是棘手的时刻。

这是我目前检测在线/离线模式的代码

const interval = setInterval(() => {
  let img = document.createElement("img");
  currentRequestsCount += 1;

  img.onerror = () => {
    currentRequestsCount = currentRequestsCount > 0 ? currentRequestsCount - 1 : 0;
    status = 'offline';
  };

  img.onload = () => {
    currentRequestsCount = currentRequestsCount > 0 ? currentRequestsCount - 1 : 0;
    status = 'online';
  };

  img.src = "https://www.google.com/favicon.ico?_" + (Math.floor(Math.random() * 1000000000));

  setTimeout(() => {
    img = null;
  });
},3000);

欢迎在这里提供任何帮助和建议!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)