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 相关文章推荐
[转]JS宝典学习笔记
Feb 07 Javascript
JScript的条件编译
May 29 Javascript
js 表格隔行颜色
Dec 02 Javascript
屏蔽F1~F12的快捷键的js函数
May 06 Javascript
IE之动态添加DOM节点触发window.resize事件
Jul 27 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
Dec 24 Javascript
JavaScript在网页中画圆的函数arc使用方法
Nov 13 Javascript
浅谈javascript的url参数parse和build函数
Mar 04 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
Dec 05 Javascript
JS XMLHttpRequest原理与使用方法深入详解
Apr 30 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
Oct 28 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
一个SQL管理员的web接口
2006/10/09 PHP
php获取后台Job管理的实现代码
2011/06/10 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
使用Python构建Hopfield网络的教程
2015/04/14 Python
python控制台中实现进度条功能
2015/11/10 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
PyTorch中permute的用法详解
2019/12/30 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
SQL Server数据库笔试题和答案
2016/02/04 面试题
五年级学生评语
2014/04/22 职场文书
2014组织生活会方案
2014/05/19 职场文书
三八节标语
2014/06/27 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
校本培训个人总结
2015/02/28 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS