js如何判断不同系统的浏览器类型
js如何判断不同系统的浏览器类型
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:functionEnv(){varua=navigator.userAgent.toLowerCase();functio...

复制代码 代码如下:

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(/bchromeb/) ,

isWebKit : check(/webkit/) ,

isSafari : !check(/bchromeb/)&& check(/safari/) ,

isSafari2 : !check(/bchromeb/)&& check(/safari/)&& check(/applewebkit/4/), // unique to Safari 2

isSafari3 : !check(/bchromeb/)&& check(/safari/)&& check(/version/3/),

isSafari4 : !check(/bchromeb/)&& 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教程学习
编程开发子分类