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 相关文章推荐
云网广告中的代码,提示出错,大家找找
Nov 21 Javascript
jquery制作select列表双向选择示例代码
Sep 02 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
Sep 08 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
基于jquery实现图片上传本地预览功能
Jan 08 Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 Javascript
移动端如何用下拉刷新的方式实现上拉加载
Dec 10 Javascript
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
layui layer select 选择被遮挡的解决方法
Sep 21 Javascript
JS实现的雪花飘落特效示例
Dec 03 Javascript
Vue表单提交点击事件只允许点击一次的实例
Oct 23 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 的 __FILE__ 常量
2007/01/15 PHP
php错误级别的设置方法
2013/06/17 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
2010/08/27 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
对python借助百度云API对评论进行观点抽取的方法详解
2019/02/21 Python
用Python写一个自动木马程序
2019/09/17 Python
python pygame实现球球大作战
2019/11/25 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
生产车间主管岗位职责
2013/12/28 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
公司2014年度工作总结
2014/12/10 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
2015年库房工作总结
2015/04/30 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
Nginx实现会话保持的两种方式
2022/03/18 Servers
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS