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 相关文章推荐
科讯商业版中用到的ajax空间与分页函数
Sep 02 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
Aug 31 Javascript
JS模拟实现方法重载示例
Aug 03 Javascript
Bootstrap3 内联单选和多选框
Dec 29 Javascript
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
微信小程序实现左右列表联动
May 19 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
ES6 Set结构的应用实例分析
Jun 26 Javascript
vue源码nextTick使用及原理解析
Aug 13 Javascript
Electron实现应用打包、自动升级过程解析
Jul 07 Javascript
比较node.js和Deno
Apr 27 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
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
python 队列详解及实例代码
2016/10/18 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
Django Rest framework频率原理与限制
2019/07/26 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
业务总经理岗位职责
2014/02/03 职场文书
创业计划书如何编写
2014/02/06 职场文书
公司财务流程之主管工作流程
2014/03/03 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
有关环保的标语
2014/06/13 职场文书
2014年领班工作总结
2014/11/25 职场文书
喋血孤城观后感
2015/06/08 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
python实现双向链表原理
2022/05/25 Python