wifi认证开发过程所用到的,源码如下:
注:检测AC是否放行成功,是否可以访问公网阿里云服务器
功能调用:
1 | checkNet().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检测是否可以访问公网服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!