封裝好的js判斷操作系統(tǒng)與瀏覽器代碼分享
摘要:
對(duì)于前端開發(fā)我們最重要的工作就是兼容性,系統(tǒng)的兼容性,瀏覽器的兼容性等等。今天分享一個(gè)我在項(xiàng)目中封裝的判斷操作系統(tǒng)與瀏覽器的方法。
操作系統(tǒng):
var os = (function() {
var UserAgent = navigator.userAgent.toLowerCase();
return {
isIpad : /ipad/.test(UserAgent),
isIphone : /iphone os/.test(UserAgent),
isAndroid : /android/.test(UserAgent),
isWindowsCe : /windows ce/.test(UserAgent),
isWindowsMobile : /windows mobile/.test(UserAgent),
isWin2K : /windows nt 5.0/.test(UserAgent),
isXP : /windows nt 5.1/.test(UserAgent),
isVista : /windows nt 6.0/.test(UserAgent),
isWin7 : /windows nt 6.1/.test(UserAgent),
isWin8 : /windows nt 6.2/.test(UserAgent),
isWin81 : /windows nt 6.3/.test(UserAgent)
};
}());
如果要判斷系統(tǒng)是否是iPad,只需要判斷if(os.isIpad) {}.
瀏覽器:
var bw = (function() {
var UserAgent = navigator.userAgent.toLowerCase();
return {
isUc : /ucweb/.test(UserAgent), // UC瀏覽器
isChrome : /chrome/.test(UserAgent.substr(-33,6)), // Chrome瀏覽器
isFirefox : /firefox/.test(UserAgent), // 火狐瀏覽器
isOpera : /opera/.test(UserAgent), // Opera瀏覽器
isSafire : /safari/.test(UserAgent) && !/chrome/.test(UserAgent), // safire瀏覽器
is360 : /360se/.test(UserAgent), // 360瀏覽器
isBaidu : /bidubrowser/.test(UserAgent), // 百度瀏覽器
isSougou : /metasr/.test(UserAgent), // 搜狗瀏覽器
isIE6 : /msie 6.0/.test(UserAgent), // IE6
isIE7 : /msie 7.0/.test(UserAgent), // IE7
isIE8 : /msie 8.0/.test(UserAgent), // IE8
isIE9 : /msie 9.0/.test(UserAgent), // IE9
isIE10 : /msie 10.0/.test(UserAgent), // IE10
isIE11 : /msie 11.0/.test(UserAgent), // IE11
isLB : /lbbrowser/.test(UserAgent), // 獵豹瀏覽器
isWX : /micromessenger/.test(UserAgent), // 微信內(nèi)置瀏覽器
isQQ : /qqbrowser/.test(UserAgent) // QQ瀏覽器
};
}());
]
小結(jié):
瀏覽器都是本人親自測(cè)試的,可能會(huì)有問題的是chrome瀏覽器,因?yàn)榇蟛糠譃g覽器都是使用WebKit內(nèi)核,所以我就把chrome的navigator截取出來區(qū)分。如果以后chrome的navigator的信息位置或者chrome之后的長(zhǎng)度發(fā)生改變就容易出現(xiàn)問題,但目前來看是可以的。
現(xiàn)在因?yàn)槭謾C(jī)UC瀏覽器經(jīng)常屏蔽百度的廣告,但對(duì)google廣告不屏蔽,我們可以加入判斷是否為UC瀏覽器,不是就顯示百度廣告,是就顯示google的廣告
if(navigator.userAgent.indexOf('UCBrowser') > -1) {
alert("uc瀏覽器");
}else{
//不是uc瀏覽器執(zhí)行的操作
}
其實(shí)具體的瀏覽器的一些特殊的操作可以通過
JS獲取瀏覽器信息
瀏覽器代碼名稱:navigator.appCodeName
瀏覽器名稱:navigator.appName
瀏覽器版本號(hào):navigator.appVersion
對(duì)Java的支持:navigator.javaEnabled()
MIME類型(數(shù)組):navigator.mimeTypes
系統(tǒng)平臺(tái):navigator.platform
插件(數(shù)組):navigator.plugins
用戶代理:navigator.userAgent
- 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如何判斷不同系統(tǒng)的瀏覽器類型
- js判斷手機(jī)瀏覽器操作系統(tǒng)和微信瀏覽器的方法
- 利用Javascript判斷操作系統(tǒng)的類型實(shí)現(xiàn)不同操作系統(tǒng)下的兼容性
- JS判斷瀏覽器類型與操作系統(tǒng)的方法分析
相關(guān)文章
js循環(huán)中使用正則失效異常的踩坑實(shí)戰(zhàn)
這篇文章主要給大家介紹了關(guān)于js循環(huán)中使用正則失效異常的踩坑實(shí)戰(zhàn),文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-05-05
JavaScript從數(shù)組(數(shù)組對(duì)象)中刪除特定數(shù)據(jù)的方法
這篇文章主要給大家介紹了關(guān)于JavaScript從數(shù)組(數(shù)組對(duì)象)中刪除特定數(shù)據(jù)的相關(guān)資料,js在前臺(tái)界面中舉足輕重,在使用js刪除數(shù)組時(shí)遇到一些問題,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
用js實(shí)現(xiàn)簡(jiǎn)單算法的實(shí)例代碼
下面小編就為大家?guī)硪黄胘s實(shí)現(xiàn)簡(jiǎn)單算法的實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
深入探究JavaScript的類型判斷(從基礎(chǔ)到精通)
JavaScript 語言具有多種數(shù)據(jù)類型,它們可以大致分為兩大類:基本數(shù)據(jù)類型(Primitive Data Types)和引用數(shù)據(jù)類型(Reference Data Types),本文將帶大家一起從基礎(chǔ)到精通深入探究JavaScript的類型判斷,需要的朋友可以參考下2024-05-05
Postman參數(shù)化實(shí)現(xiàn)過程及原理解析
這篇文章主要介紹了Postman參數(shù)化實(shí)現(xiàn)過程及原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
javascript實(shí)現(xiàn)復(fù)制與粘貼操作實(shí)例
這篇文章主要介紹了javascript實(shí)現(xiàn)復(fù)制與粘貼操作,以實(shí)例形式講述了javascript實(shí)現(xiàn)復(fù)制與粘貼操作的實(shí)現(xiàn)方法,需要的朋友可以參考下2014-10-10

