标签:console ror info 联网 request ipv4 通过 function 额外
这里列举几种判断是否联网的方法
第一种获取网络设置,遍历属性,检查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 = ‘https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png?id=‘ + Date.now();
标签:console ror info 联网 request ipv4 通过 function 额外
原文地址:http://www.cnblogs.com/fangsmile/p/6223421.html