js如何判斷不同系統(tǒng)的瀏覽器類型
更新時(shí)間:2013年10月28日 18:06:45 作者:
正如標(biāo)題所言使用js如何判斷不同系統(tǒng)的瀏覽器類型,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下
復(fù)制代碼 代碼如下:
function Env(){
var ua=navigator.userAgent.toLowerCase();
function check(r){
return r.test(ua);
}
return {
//判斷環(huán)境,操作系統(tǒng)、瀏覽器、是否是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,則當(dāng)v=''時(shí)返回true
*/
isEmpty : function(v, allowBlank){
return v === null || v === undefined || ((this.isArray(v) && !v.length)) || (!allowBlank ? v === '' : false);
},
/**
* 是否為數(shù)組類型
*/
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]';
},
/**
* 判斷是否是函數(shù)
*/
isFunction : function(v){
return toString.apply(v) === '[object Function]';
},
/**
* 判斷是否為數(shù)字
*/
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. 來取的所需的類型。
您可能感興趣的文章:
- JS如何判斷瀏覽器類型和詳細(xì)區(qū)分IE各版本瀏覽器
- 利用JavaScript判斷瀏覽器類型及版本
- js根據(jù)手機(jī)客戶端瀏覽器類型,判斷跳轉(zhuǎn)官網(wǎng)/手機(jī)網(wǎng)站多個(gè)實(shí)例代碼
- js/jquery判斷瀏覽器類型的方法小結(jié)
- js判斷當(dāng)前瀏覽器類型,判斷IE瀏覽器方法
- 利用js判斷瀏覽器類型(是否為IE,Firefox,Opera瀏覽器)
- js判斷手機(jī)瀏覽器操作系統(tǒng)和微信瀏覽器的方法
- 封裝好的js判斷操作系統(tǒng)與瀏覽器代碼分享
- 利用Javascript判斷操作系統(tǒng)的類型實(shí)現(xiàn)不同操作系統(tǒng)下的兼容性
- JS判斷瀏覽器類型與操作系統(tǒng)的方法分析
相關(guān)文章
淺談JavaScript中小數(shù)和大整數(shù)的精度丟失
下面小編就為大家?guī)硪黄獪\談JavaScript中小數(shù)和大整數(shù)的精度丟失。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05JavaScript實(shí)現(xiàn)扯網(wǎng)動(dòng)畫效果的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript語言實(shí)現(xiàn)扯網(wǎng)動(dòng)畫效果,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JS有一定的幫助,需要的可以參考一下2022-06-06JS獲取鼠標(biāo)坐標(biāo)、獲取鼠標(biāo)像素點(diǎn)示例
運(yùn)行代碼之后隨意移動(dòng)鼠標(biāo)的位置,可適時(shí)顯現(xiàn)鼠標(biāo)的坐標(biāo)點(diǎn),不占用系統(tǒng)資源2014-03-03JS根據(jù)年月獲得當(dāng)月天數(shù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS根據(jù)年月獲得當(dāng)月天數(shù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-07-07JS實(shí)現(xiàn)jQuery的append功能
jQuery中可以直接使用$el.append()為元素添加字符串型dom, 但是最近轉(zhuǎn)戰(zhàn)Vue, 再使用jQuery明顯不合適了, 所以通過查找資料, 封裝一個(gè)可以實(shí)現(xiàn)同樣效果的方法.2021-05-05javascript 就地編輯實(shí)現(xiàn)代碼
最近正在看《javascript設(shè)計(jì)模式》,其中有一個(gè)'就地編輯'的示例,用來表現(xiàn)不同的繼承方式,看完之后想自己憑理解寫一個(gè)類似的東西。2010-05-05