js如何判断不同系统的浏览器类型


Posted in Javascript onOctober 28, 2013
function Env(){ 
var ua=navigator.userAgent.toLowerCase(); 
function check(r){ 
return r.test(ua); 
} 
return { 
//判断环境,操作系统、浏览器、是否是https连接等 
DOC : document, 
isStrict : DOC.compatMode == "CSS1Compat" , 
isOpera : check(/opera/) , 
isChrome : check(/\bchrome\b/) , 
isWebKit : check(/webkit/) , 
isSafari : !check(/\bchrome\b/)&& check(/safari/) , 
isSafari2 : !check(/\bchrome\b/)&& check(/safari/)&& check(/applewebkit\/4/), // unique to Safari 2 
isSafari3 : !check(/\bchrome\b/)&& check(/safari/)&& check(/version\/3/), 
isSafari4 : !check(/\bchrome\b/)&& check(/safari/)&& check(/version\/4/), 
isIE : !check(/opera/) && check(/msie/) , 
isIE7 : !check(/opera/) && check(/msie/)&& check(/msie 7/) , 
isIE8 : !check(/opera/) && check(/msie/)&& check(/msie 8/) , 
isIE6 : !check(/opera/) && check(/msie/)&&!check(/msie 7/)&& !check(/msie 8/), 
isGecko : !check(/webkit/)&& check(/gecko/), 
isGecko2 : check(/webkit/)&& check(/rv:1\.8/), 
isGecko3 : check(/webkit/)&& check(/rv:1\.9/), 
isBorderBox : !check(/opera/) && check(/msie/)&& DOC.compatMode != "CSS1Compat", 
isWindows : check(/windows|win32/), 
isMac : check(/macintosh|mac os x/), 
isAir : check(/adobeair/), 
isLinux : check(/linux/), 
isSecure : /^https/i.test(window.location.protocol), 
/** 
* 是否为空,如果允许allowBlank=true,则当v=''时返回true 
*/ 
isEmpty : function(v, allowBlank){ 
return v === null || v === undefined || ((this.isArray(v) && !v.length)) || (!allowBlank ? v === '' : false); 
}, /** 
* 是否为数组类型 
*/ 
isArray : function(v){ 
return toString.apply(v) === '[object Array]'; 
}, 
/** 
* 是否为日期类型 
*/ 
isDate : function(v){ 
return toString.apply(v) === '[object Date]'; 
}, 
/** 
* 是否为Object类型 
*/ 
isObject : function(v){ 
return !!v && Object.prototype.toString.call(v) === '[object Object]'; 
}, 
/** 
* 判断是否是函数 
*/ 
isFunction : function(v){ 
return toString.apply(v) === '[object Function]'; 
}, 
/** 
* 判断是否为数字 
*/ 
isNumber : function(v){ 
return typeof v === 'number' && isFinite(v); 
}, 
/** 
* 判断字符串类型 
*/ 
isString : function(v){ 
return typeof v === 'string'; 
}, 
/** 
* 判断布尔类型 
*/ 
isBoolean : function(v){ 
return typeof v === 'boolean'; 
}, 
/** 
* 判断是否为dom元素 
*/ 
isElement : function(v) { 
return !!v && v.tagName; 
}, 
/** 
* 判断是否已定义 
*/ 
isDefined : function(v){ 
return typeof v !== 'undefined'; 
} 
}

然后var env = env(); 用env. 来取的所需的类型。
Javascript 相关文章推荐
javascript之typeof、instanceof操作符使用探讨
May 19 Javascript
jquery ajax属性async(同步异步)示例
Nov 05 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
js前端解决跨域问题的8种方案(最新最全)
Nov 18 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
详解Vuex管理登录状态
Nov 13 Javascript
详解关于element el-button使用$attrs的一个注意要点
Nov 09 Javascript
深入理解Node内建模块和对象
Mar 12 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 Javascript
Vue v-text指令简单使用方法示例
Sep 19 Javascript
使用vscode快速建立vue模板过程详解
Oct 10 Javascript
使用js的replace()方法查找字符示例代码
Oct 28 #Javascript
js中的replace方法使用介绍
Oct 28 #Javascript
js之事件冒泡和事件捕获详细介绍
Oct 28 #Javascript
javascript抖动元素的小例子
Oct 28 #Javascript
replace()方法查找字符使用示例
Oct 28 #Javascript
JS 如何获取radio选中后的值及不选择取radio的值
Oct 28 #Javascript
Document:getElementsByName()使用方法及示例
Oct 28 #Javascript
You might like
php中计算时间差的几种方法
2009/12/31 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
分享PHP守护进程类
2015/12/30 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
判断横屏竖屏(三种)
2017/02/13 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
详解webpack 多入口配置
2017/06/16 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
python处理中文编码和判断编码示例
2014/02/26 Python
Python设计模式之单例模式实例
2014/04/26 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
Python 实现向word(docx)中输出
2020/02/13 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
一份婚庆公司创业计划书
2014/01/11 职场文书
运动会通讯稿50字
2014/01/30 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
取保候审保证书
2014/04/30 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
致青春观后感
2015/06/09 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
深入解析MySQL索引数据结构
2021/10/16 MySQL