检测ac是否放行成功,是否可以访问公网阿里云服务器。下面给大家分享js检测是否可以访问公网服务器功能代码,需要的的朋友参考下吧
wifi认证开发过程所用到的,源码如下:
注:检测ac是否放行成功,是否可以访问公网阿里云服务器
功能调用:
checknet().then(function(res) {
if(res) {
//连网成功
}
} else {
//连网失败
}
})
功能代码:
(function() {
//检测入口
checknet = function() {
var def = $.deferred();
xiunet(null).then(function(res) {
network(null).then(function(res) {
if(res) {
def.resolve(true);
} else {
def.resolve(false);
}
})
})
return def.promise();
}
//嗅探网络,解决ios弹框接入网络问题
var checktime = 2; //嗅探次数
xiunet = function(def) {
if(def == null) {def = $.deferred();}
var iframe = document.createelement("iframe");
iframe.style.csstext = "display:none;width:0px;height:0px;";
document.body.appendchild(iframe);
var ua = navigator.useragent;
if(ua.indexof("iphone") != -1 || ua.indexof("ipod") != -1 ||
ua.indexof("ipad") != -1) {
iframe.src = "http://www.baidu.com" + "?timestap=" + new date().gettime();
console.info("嗅探网络----");
if(checktime > 1) {
checktime--;
settimeout(function() {
xiunet(def)
}, 1000);
} else {
def.resolve(true);
}
} else {
def.resolve(false);
}
return def.promise();
}
//检测网络,是否可以连接公网
var cnettime = 3; //检测网络次数
network = function(def) {
if(def == null) {def = $.deferred();}
$.ajax({
type: "get",
timeout: 2000,
datatype: "jsonp",
jsonp: "callback",
url: 'https://jktv.tv/shphone/ver.txt',
success: function(data) {},
error: function(xhr) {
$("#ddd").html("status:"+xhr.status)
if(xhr.readystate == 4 && xhr.status == 200) {
def.resolve(true);
} else {
if(cnettime > 1) {
cnettime--;
settimeout(function() {
network(def)
}, 200);
} else {
def.resolve(false);
}
}
}
});
return def.promise();
}
})();
以上所述是小编给大家介绍的js检测是否可以访问公网服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
以上就是javascript检测是否可以访问公网服务器功能代码的详细内容。