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 相关文章推荐
JS获取页面input控件中所有text控件并追加样式属性
Feb 25 Javascript
JavaScript 函数replace深入了解
Mar 14 Javascript
兼容FF和IE的动态table示例自写
Oct 21 Javascript
JS仿百度搜索自动提示框匹配查询功能
Nov 21 Javascript
jQuery$命名冲突怎么办如何解决
Jan 16 Javascript
谷歌Chrome浏览器扩展程序开发小记
Jan 06 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
Feb 22 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 Javascript
AngularJS 入门教程之事件处理器详解
Aug 19 Javascript
通过jquery实现页面的动画效果(实例代码)
Sep 18 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
May 06 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中的正规表达式(一)
2006/10/09 PHP
php常用文件操作函数汇总
2014/11/22 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
html超链接打开窗口大小的方法
2013/03/05 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
使用Python对Access读写操作
2017/03/30 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
医药类个人求职的自我评价
2014/02/12 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
服装设计师求职信
2014/06/04 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
毕业生评语大全
2015/01/04 职场文书
门店店长岗位职责
2015/04/14 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
小学运动会入场口号
2015/12/24 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书