首页 > 代码库 > 判断电脑是否连接网络

判断电脑是否连接网络

这里列举几种判断是否联网的方法

第一种获取网络设置,遍历属性,检查IPv4是否有ip地址

 

 1         //判断网络状态 2         static judgingAddrInfo() { 3             var interfaces = require(‘os‘).networkInterfaces(); 4             for (var i in interfaces) { 5                 var ifObj = interfaces[i]; 6                 for (var n = 0; n < ifObj.length; n++) { 7                     if (ifObj[n].family == ‘IPv4‘ && ifObj[n].address != ‘127.0.0.1‘) { 8                         return true; 9                     }10                 }11             }12             return false;13         }

第二种方法:var online = navigator.onLine;  chrome。返回浏览器的联网状态。正常联网(在线)返回true,不正常联网(离线)返回false。一旦浏览器的联网状态发生改变,该属性值也会随之变化。

但是这两种方法在某些情况下不太准确,检查到联网状态时,并不意味着浏览器一定能连接上互联网。还有其他一些可能引起误判的原因,比如你的电脑安装了虚拟化软件,可能会有一个虚拟网卡,这时它总是会显示正常联网。因此,如果你想得到浏览器确切的联网状态,应该使用其他额外的检查手段。

第三种方法:

通过发起网络资源请求,如果请求成功则表示网络连接没问题,但是这种方法依赖于所请求的资源!

 1                     //通过发起请求                     2                     require("request") 3                         .get(‘http://www.baidu.com‘) 4                         .on(‘response‘, function (response) { 5                         console.log(response.statusCode) // 200 6                     }) 7      8                      或者 9                     //通过请求资源10                     var i = <HTMLImageElement>document.createElement("IMG");11                     i.onload = function () {12                         console.log("load")13                         callBack(true);14                     };15                     i.onerror = function () {16                         console.log("err")17                         callBack(false);18                     };19                     i.src = http://www.mamicode.com/‘https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png?id=‘ + Date.now();                

 

判断电脑是否连接网络