您现在的位置是:首页 > 文章详情文章详情
JS检测本机是否可以访问公网服务器
会飞的猪
2020-03-27
1473人已围观
简介白码驿站是一个面向开发者的知识共享社区,专注于为开发者打造一个纯净的技术交流社区(源码下载,免费在线图片压缩,jquery插件,插件下载,JS/CSS在线压缩。)-白码驿站
最近在改造HR系统, HR有个文件分享模块, 该模块可以预览xls,xlsx,doc等文件,用插件的话在某些特殊情况下显示的并不是那么友好,所以考虑使用微软提供的接口,由于HR系统可能部署在内网上, 所以需要做个处理,判断是否可以访问外网, 如果是外网就使用微软提供的接口显示,否则就使用插件显示。
功能代码:
(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(); } })();
调用:
$(function () { checkNet().then(function (res) { if (res) { alert("连网成功"); } else { alert("连网失败"); } }) });
Tags: JavaScript/Jquery
很赞哦! (0)
点击排行
文章分类
- C# (211)
- Excel操作 (7)
- Ext.Net (1)
- FTP (7)
- Git (1)
- Html (7)
- JavaScript/Jquery (173)
- Json (5)
- PhotoShop (60)
- Sql Server (48)
- SVN (5)
- Tesseract-ocr图片识别 (5)
- UML (1)
- VS代码折叠插件 (1)
- winform (2)
- 操作IP地址 (5)
- 操作PDF (5)
- 插件 (166)
- 发送邮件 (2)
- 过滤HTML标签 (2)
- 缓存 (1)
- 跨域 (1)
- 目录操作 (14)
- 软件 (25)
- 视屏操作 (2)
- 数据库恢复 (2)
- 数据库优化 (5)
- 图片操作 (16)
- 文件操作 (24)
- 序列化 (3)
- 压缩 (5)
- 验证码 (4)
- 正则表达式 (21)
- 字符串加密 (11)
猜你喜欢
- SQL Prompt 免费下载 (SQL自定义插件的安装与激活:新版)
- Tesseract-OCR 中文识别
- 大公司为什么还在采用过时的技术
- C# 操作Excel , 支持超链接 跳转Sheet 页面,HSSFHyperlink函数
- SQL SERVER 2012 误删数据恢复过程
- X-UA-Compatible 解决IE浏览器样式不兼容问题
- sql Service 海量数据查询,如何提高查询效率--数据库分区
- sql Service 海量数据查询,如何提高查询效率--数据库设计
- LoadRunner 安装+汉化+破解
- C#中构造函数的执行序列(构造函数初始化器 this base)
- html5+ajax实现文件拖拽上传
- sql Service 海量数据查询,如何提高查询效率--SQL语句优化
评 论