我爱模板网 > 建站教程 > JS、jQ、TS >  JS检测是否可以访问公网服务器功能代码_javascr正文

JS检测是否可以访问公网服务器功能代码_javascr

wifi认证开发过程所用到的,源码如下:

注:检测AC是否放行成功,是否可以访问公网阿里云服务器

功能调用:

1checkNet().then(function(res) {
2  if(res) {
3    //连网成功   
4  }
5  } else {
6    //连网失败       
7  }
8})

功能代码:

01(function() {
02  //检测入口
03  checkNet = function() {
04    var def = $.Deferred();
05    xiuNet(null).then(function(res) {
06      netWork(null).then(function(res) {
07        if(res) {
08          def.resolve(true);
09        } else {
10          def.resolve(false);
11        }
12      })
13    })
14    return def.promise();
15  }
16  //嗅探网络,解决ios弹框接入网络问题
17  var checkTime = 2; //嗅探次数
18  xiuNet = function(def) {
19    if(def == null) {def = $.Deferred();}
20    var iframe = document.createElement("iframe");
21    iframe.style.cssText = "display:none;width:0px;height:0px;";
22    document.body.appendChild(iframe);
23    var ua = navigator.userAgent;
24    if(ua.indexOf("iPhone") != -1 || ua.indexOf("iPod") != -1 ||
25      ua.indexOf("iPad") != -1) {
26      iframe.src = "http://www.baidu.com" + "?timestap=" + new Date().getTime();
27      console.info("嗅探网络----");
28      if(checkTime > 1) {
29        checkTime--;
30        setTimeout(function() {
31          xiuNet(def)
32        }, 1000);
33      } else {
34        def.resolve(true);
35      }
36    } else {
37      def.resolve(false);
38    }
39    return def.promise();
40  }
41  //检测网络,是否可以连接公网
42  var cnetTime = 3; //检测网络次数
43  netWork = function(def) {
44    if(def == null) {def = $.Deferred();}
45    $.ajax({
46      type: "get",
47      timeout: 2000,
48      dataType: "jsonp",
49      jsonp: "callback",
50      url: 'https://jktv.tv/shphone/ver.txt',
51      success: function(data) {},
52      error: function(xhr) {
53        $("#ddd").html("status:"+xhr.status)
54        if(xhr.readyState == 4 && xhr.status == 200) {
55          def.resolve(true);
56        } else {
57          if(cnetTime > 1) {
58            cnetTime--;
59            setTimeout(function() {
60              netWork(def)
61            }, 200);
62          } else {
63            def.resolve(false);
64          }
65        }
66      }
67    });
68    return def.promise();
69  }
70})();

以上所述是小编给大家介绍的JS检测是否可以访问公网服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!



部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!
上一篇:详解angularJS动态生成的页面中ng-click无效解决办法 下一篇:JavaScript队列函数和异步执行详解_javascript技巧
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
选择头像:
最新评论

猜你喜欢