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下利用控制器载入对应脚本
Jul 17 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
Mar 05 Javascript
js正则表达式中exec用法实例
Jul 23 Javascript
jQuery带进度条全屏图片轮播特效代码分享
Jun 28 Javascript
jquery输入数字随机抽奖特效的简单实现代码
Jun 10 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
Aug 19 Javascript
微信小程序 sha1 实现密码加密实例详解
Jul 06 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
JavaScript制作3D旋转相册
Aug 02 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
Mar 16 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
Apr 09 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
sae使用smarty模板的方法
2013/12/17 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
Angular2开发——组件规划篇
2017/03/28 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
Python学习笔记_数据排序方法
2014/05/22 Python
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
python中pygame模块用法实例
2014/10/09 Python
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
Python新手们容易犯的几个错误总结
2017/04/01 Python
django静态文件加载的方法
2018/05/20 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
Python通过format函数格式化显示值
2020/10/17 Python
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
软件测试有哪些?什么是配置项?
2012/02/12 面试题
应届生船舶驾驶求职信
2013/10/19 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书