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


Posted in Javascript onJune 19, 2017

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 相关文章推荐
javascript编程起步(第四课)
Jan 10 Javascript
JavaScript使用技巧精萃[代码非常实用]
Nov 21 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
Sep 28 Javascript
读jQuery之六 缓存数据功能介绍
Jun 21 Javascript
一个实用的图片切换支持点击切换和自动轮播
Sep 09 Javascript
基于jQuery实现仿51job城市选择功能实例代码
Mar 02 Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 Javascript
微信小程序 保留小数(toFixed)详细介绍
Nov 16 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
Sep 12 Javascript
在js代码拼接dom对象到页面上的模板总结
Oct 21 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
May 22 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
Sep 08 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
Jun 19 #Javascript
详解AngularJS脏检查机制及$timeout的妙用
Jun 19 #Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 #Javascript
jQuery 实现双击编辑表格功能
Jun 19 #jQuery
Web制作验证码功能实例代码
Jun 19 #Javascript
angularjs+bootstrap实现自定义分页的实例代码
Jun 19 #Javascript
详解vue服务端渲染(SSR)初探
Jun 19 #Javascript
You might like
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
原生JS生成指定位数的验证码
2020/10/28 Javascript
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
python中异常报错处理方法汇总
2016/11/20 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
python正则中最短匹配实现代码
2018/01/16 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
python自定义函数def的应用详解
2020/06/03 Python
浅谈Python 函数式编程
2020/06/20 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
党的群众路线整改落实情况汇报
2014/10/28 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
讲文明倡议书
2015/04/29 职场文书
商标侵权律师函
2015/05/27 职场文书
法律讲堂观后感
2015/06/11 职场文书
医院感染管理制度
2015/08/05 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
Nginx实现负载均衡的项目实践
2022/03/18 Servers