基础模块 网络连接检查 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是一个空目录, ... 
