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,超强推荐expand.js
Dec 23 Javascript
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
Aug 14 Javascript
jquery lazyload延迟加载技术的实现原理分析
Jan 24 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 Javascript
JS中数组重排序方法
Nov 11 Javascript
使用JS 插件qrcode.js生成二维码功能
Feb 20 Javascript
详解在 Angular 项目中添加 clean-blog 模板
Jul 04 Javascript
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 Javascript
微信小程序实现同时上传多张图片
Feb 03 Javascript
js中switch语句的学习笔记
Mar 25 Javascript
js实现简单抽奖功能
Nov 24 Javascript
详解Node.js如何处理ES6模块
May 15 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
2015/03/13 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
简单实现js浮动框
2016/12/13 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
python中私有函数调用方法解密
2016/04/29 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
毕业生求职信的经典写法
2014/01/31 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
葬礼主持词
2015/07/02 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript