基础模块 网络连接检查 js
//无对象则加载
if (typeof Base == "undefined") Base = function() {}
// 获取时间对象的基本方法
Base.prototype.getTime = function() {
var date = new Date();
var yyyy = date.getFullYear(); //四位年份
var month = date.getMonth() + 1; //月份 0-11
var day = date.getDate(); //日
var HH = date.getHours(); //时
var minute = date.getMinutes(); //分钟
var second = date.getSeconds(); //秒
var milliseconds = date.getMilliseconds(); //毫秒
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
if (HH < 10) {
HH = "0" + HH;
}
if (minute < 10) {
minute = "0" + minute;
}
if (second < 10) {
second = "0" + second;
}
var time = yyyy + "-" + month + "-" + day + " " + HH + ":" + minute + ":" + second + " " + milliseconds;
var timeTxt = yyyy + month + day + HH + minute + second;
var times = {
DateTime: time,
TimeTxt: timeTxt
}
return times;
}
// 浏览器检测,获取,弹出框提醒IE 返回浏览器详情
Base.prototype.getBrowserAndSystem = function() {
var BrowserMatch = {
init: function() {
this.browser = this.getBrowser().browser || "An Unknown Browser";
this.version = this.getBrowser().version || "An Unknown Version";
this.OS = this.getOS() || "An Unknown OS";
},
getOS: function() {
if (navigator.platform.indexOf("Win") != -1) return "Windows";
if (navigator.platform.indexOf("Mac") != -1) return "Mac";
if (navigator.platform.indexOf("Linux") != -1) return "Linux";
if (navigator.userAgent.indexOf("iPhone") != -1) return "iPhone/iPod";
},
getBrowser: function() {
var browser = "Unknown Browse";
var version = 0;
var rMsie = /(msie\s|trident\/7)([\w\.]+)/;
var rTrident = /(trident)\/([\w.]+)/;
var rFirefox = /(firefox)\/([\w.]+)/;
var rOpera = /(opera).+version\/([\w.]+)/;
var rNewOpera = /(opr)\/(.+)/;
var rChrome = /(chrome)\/([\w.]+)/;
var rSafari = /version\/([\w.]+).*(safari)/;
var ua = navigator.userAgent.toLowerCase();
var matchBS, matchBS2;
matchBS = rMsie.exec(ua);
if (matchBS != null) {
matchBS2 = rTrident.exec(ua);
if (matchBS2 != null) {
switch (matchBS2[2]) {
case "4.0":
return {
browser: "IE",
version: "8"
};
break;
case "5.0":
return {
browser: "IE",
version: "9"
};
break;
case "6.0":
return {
browser: "IE",
version: "10"
};
break;
case "7.0":
return {
browser: "IE",
version: "11"
};
break;
default:
return {
browser: "IE",
version: "Undefined"
};
}
} else {
return {
browser: "IE",
version: matchBS[2] || "0"
};
}
}
matchBS = rFirefox.exec(ua);
if ((matchBS != null) && (!(window.attachEvent)) && (!(window.chrome)) && (!(window.opera))) {
return {
browser: matchBS[1] || "",
version: matchBS[2] || "0"
};
}
matchBS = rOpera.exec(ua);
if ((matchBS != null) && (!(window.attachEvent))) {
return {
browser: matchBS[1] || "",
version: matchBS[2] || "0"
};
}
matchBS = rChrome.exec(ua);
if ((matchBS != null) && (!!(window.chrome)) && (!(window.attachEvent))) {
matchBS2 = rNewOpera.exec(ua);
if (matchBS2 == null) {
return {
browser: matchBS[1] || "",
version: matchBS[2] || "0"
};
} else {
return {
browser: "Opera",
version: matchBS2[2] || "0"
};
}
}
matchBS = rSafari.exec(ua);
if ((matchBS != null) && (!(window.attachEvent)) && (!(window.chrome)) && (!(window.opera))) {
return {
browser: matchBS[2] || "",
version: matchBS[1] || "0"
};
}
}
};
BrowserMatch.init();
// 获取浏览器名:BrowserMatch.browser;
// 获取浏览器版本:BrowserMatch.version;
// 获取所处操作系统:BrowserMatch.OS;
if (BrowserMatch.browser == "IE" && BrowserMatch.version < 9) {
alert("您当前浏览器为:" +
BrowserMatch.browser +
"\nVersion:" +
BrowserMatch.version + ".0" +
"\n所处操作系统为:" +
BrowserMatch.OS
+
"\n你当前的浏览器不支持本网页大多功能, " +
"\n为了更好体验宝宝提供的服务,\n请点点你的小手手升级或换个更厉害的浏览器吧!"
);
}
return "您当前浏览器为:" + BrowserMatch.browser + "\nVersion:" + BrowserMatch.version + ".0" + "\n所处操作系统为:" + BrowserMatch.OS;
}
//外部网络连接状态检测
Base.prototype.connectionLisner = function() {//onload="conectSuccess()"onerror="conectError()"
$("body").prepend('<img id="connect-test" style="display:none;" /> ');
var imgPath = "https://www.baidu.com/img/bd_logo1.png";
var timeStamp = Date.parse(new Date());
$("#connect-test").attr("src", imgPath + "?timestamp=" + timeStamp);
$("#connect-test").load(function(){alert("Network connect!");});
$("#connect-test").error(function(){alert("Network disconnect!");});
}
// 浏览器动态数据检测未联机执行函数
function conectError() {
//网络不可访问时加载
//
}
// 浏览器动态数据检测 联机执行函数
function conectSuccess() {
//
//网络可访问时加载
//document.write("<scr"+"ipt src=\"##.js\"></sc"+"ript>");
}
$(document).ready(function() {
var b = new Base();
// alert(b.getTime().DateTime);
b.connectionLisner();
});
基础模块 网络连接检查 js的更多相关文章
- PhoneGap检测设备网络连接情况
一.网络连接状态列表 Phonegap 网络连接通过 navigator.network.connection.type 来获取,一般有一下几种状态 1. Connection.UNKNOWN ...
- 网络编程基础:网络基础之网络协议、socket模块
操作系统(简称OS)基础: 应用软件不能直接操作硬件,能直接操作硬件的只有操作系统:所以,应用软件可以通过操作系统来间接操作硬件 网络基础之网络协议: 网络通讯原理: 连接两台计算机之间的Intern ...
- Hi3516开发笔记(二):Hi3516虚拟机基础环境搭建之串口调试、网络连接以及sftp文件传输
前言 搭建Hi3516的基础虚拟机,为交叉编译环境搭建前期工作.后续会编译一个基本的C语言程序Demo,在HI3516上跑. 虚拟机 开发本对虚拟机做了一些基本要求,如下图: 其实重 ...
- Silverlight项目笔记6:Linq求差集、交集&检查网络连接状态&重载构造函数复用窗口
1.使用Linq求差集.交集 使用场景: 需要从数据中心获得用户数据,并以此为标准,同步系统的用户信息,对系统中多余的用户进行删除操作,缺失的用户进行添加操作,对信息更新了的用户进行编辑操作更新. 所 ...
- android 检查网络连接状态实现步骤
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.AC ...
- node.js基础模块http、网页分析工具cherrio实现爬虫
node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言 说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...
- 用delphi检查网络连接状态3种方式
用delphi检查网络连接状态3种方式 用delphi检查网络连接状态 检测计算机是否联网比较简单的做法可以通过一个 Win32 Internet(WinInet) 函数 InternetCheckC ...
- 怎样检查Android网络连接状态
在发送任何HTTP请求前最好检查下网络连接状态,这样可以避免异常.这个教程将会介绍怎样在你的应用中检测网络连接状态. 创建新的项目 1.在Eclipse IDE中创建一个新的项目并把填入必须的信息. ...
- 负载均衡服务TCP端口健康检查成功,为什么在后端业务日志中出现网络连接异常信息?
负载均衡服务TCP端口健康检查成功,为什么在后端业务日志中出现网络连接异常信息? 原文: https://help.aliyun.com/document_detail/127193.html?spm ...
随机推荐
- luogu2839 [国家集训队]middle
题目链接:洛谷 题目大意:给定一个长度为$n$的序列,每次询问左端点在$[a,b]$,右端点在$[c,d]$的所有子区间的中位数的最大值.(强制在线) 这里的中位数定义为,对于一个长度为$n$的序列排 ...
- Centos安装Oracle及问题处理
安装Oracle前准备 创建运行oracle数据库的系统用户和用户组 [jonathan@localhost ~]$ su root #切换到root Password: [root@localhos ...
- linux----------centos6.4安装完了以后敲ifconfig,没有局域网ip。解决如下
1.vim /etc/sysconfig/network-scripts/ifcfg-eth0 进入linux然后进入这个文件里面如下: DEVICE=eth0 HWADDR=00:0C:29:92: ...
- C#中MemoryStream类的介绍
MemoryStream位于System.IO命名空间,为系统内存提供流式的读写操作.常作为其他流数据交换时的中间对象操作. 1.MemoryStream类封装一个字节数组,在构造实例时可以使用一个字 ...
- CentOS 7 源码编译MariaDB
下载源码包 安装 SCL devtoolset-7 SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包.SCL为社区的以 ...
- Spring Boot 的 application.properties
更改默认端口:8080 server.port = 8081 更改context-path :/server.context-path = /springboot #server.address= # ...
- 快速搭建Vue项目
快速搭建Vue项目 第一次安装vue项目Vue推荐开发环境Node.js 6.2.0.npm 3.8.9.webpack 1.13.vue-cli 2.5.1.webstrom2016 安装环境: 安 ...
- function的toString方法
javascript的创建多行字符串的除了平时常见的”“+ 反斜杠\ 还有ES6的` ` 在js51上发现一个很有意思的方法 function heredoc(fn) { return fn.toSt ...
- Lucene的深入
Lucene创建索引 第一.创建文档对象 第二.创建Field对象(各种类型)整数String.Text.Long.Float.Double等... Field对象 包含三大属性:是否分词,是否索引, ...
- K8S学习笔记之Kubernetes数据持久化方案
在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath.configmap以及secret的机制和用途. 0x00 Emptydir EmptyDir是一个空目录, ...