JS判斷瀏覽器類型與操作系統(tǒng)的方法分析
本文實(shí)例講述了JS判斷瀏覽器類型與操作系統(tǒng)的方法。分享給大家供大家參考,具體如下:
navigator.userAgent : userAgent 屬性是一個只讀的字符串,聲明了瀏覽器用于 HTTP 請求的用戶代理頭的值。
navigator.platform : platform 屬性是一個只讀的字符串,聲明了運(yùn)行瀏覽器的操作系統(tǒng)和(或)硬件平臺。
判斷瀏覽器類型
IE瀏覽器
ie = ua.match( /MSIE\s([\d\.]+)/ ) || ua.match( /(?:trident)(?:.*rv:([\w.]+))?/i ),
IE瀏覽器版本號
/msie 8.0/.test(navigator.userAgent.toLowerCase())
微信瀏覽器
/micromessenger/.test(navigator.userAgent.toLowerCase())
chrome
/chrome/.test(navigator.userAgent.toLowerCase())
firefox
/safari/.test(navigator.userAgent.toLowerCase())
opera
/micromessgenger/.test(navigator.userAgent.toLowerCase())
判斷操作系統(tǒng)類型
win操作系統(tǒng)
navigator.platform == "Win32" navigator.platform == "Windows"
mac操作系統(tǒng)
navigator.platform == "Mac68K" navigator.platform == "MacPPC" navigator.platform == "Macintosh" navigator.platform == "MacIntel"
andorid操作系統(tǒng)
if(/Linux/i.test(navigator.userAgent)){ if(/android/i.test(navigator.userAgent.toLowerCase())){ return "android"; } } /** * @description 簡單的瀏覽器檢查結(jié)果。 * * * `webkit` webkit版本號,如果瀏覽器為非webkit內(nèi)核,此屬性為`undefined`。 * * `chrome` chrome瀏覽器版本號,如果瀏覽器為chrome,此屬性為`undefined`。 * * `ie` ie瀏覽器版本號,如果瀏覽器為非ie,此屬性為`undefined`。**暫不支持ie10+** * * `firefox` firefox瀏覽器版本號,如果瀏覽器為非firefox,此屬性為`undefined`。 * * `safari` safari瀏覽器版本號,如果瀏覽器為非safari,此屬性為`undefined`。 * * `opera` opera瀏覽器版本號,如果瀏覽器為非opera,此屬性為`undefined`。 * * @property {Object} [browser] */ browser: (function( ua ) { var ret = {}, webkit = ua.match( /WebKit\/([\d.]+)/ ), chrome = ua.match( /Chrome\/([\d.]+)/ ) || ua.match( /CriOS\/([\d.]+)/ ), ie = ua.match( /MSIE\s([\d\.]+)/ ) || ua.match( /(?:trident)(?:.*rv:([\w.]+))?/i ), firefox = ua.match( /Firefox\/([\d.]+)/ ), safari = ua.match( /Safari\/([\d.]+)/ ), opera = ua.match( /OPR\/([\d.]+)/ ); webkit && (ret.webkit = parseFloat( webkit[ 1 ] )); chrome && (ret.chrome = parseFloat( chrome[ 1 ] )); ie && (ret.ie = parseFloat( ie[ 1 ] )); firefox && (ret.firefox = parseFloat( firefox[ 1 ] )); safari && (ret.safari = parseFloat( safari[ 1 ] )); opera && (ret.opera = parseFloat( opera[ 1 ] )); return ret; })( navigator.userAgent ), /** * @description 操作系統(tǒng)檢查結(jié)果。 * * * `android` 如果在android瀏覽器環(huán)境下,此值為對應(yīng)的android版本號,否則為`undefined`。 * * `ios` 如果在ios瀏覽器環(huán)境下,此值為對應(yīng)的ios版本號,否則為`undefined`。 * @property {Object} [os] */ os: (function( ua ) { var ret = {}, // osx = !!ua.match( /\(Macintosh\; Intel / ), android = ua.match( /(?:Android);?[\s\/]+([\d.]+)?/ ), ios = ua.match( /(?:iPad|iPod|iPhone).*OS\s([\d_]+)/ ); // osx && (ret.osx = true); android && (ret.android = parseFloat( android[ 1 ] )); ios && (ret.ios = parseFloat( ios[ 1 ].replace( /_/g, '.' ) )); return ret; })( navigator.userAgent ),
PS:這里再為大家提供幾款相關(guān)在線工具供大家參考:
在線瀏覽器信息檢測工具:
http://tools.jb51.net/aideddesign/browser_info
常用瀏覽器(PC,移動) user-agent:
http://tools.jb51.net/table/useragent
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript頁面元素操作技巧總結(jié)》、《JavaScript操作DOM技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
- JS如何判斷瀏覽器類型和詳細(xì)區(qū)分IE各版本瀏覽器
- 利用JavaScript判斷瀏覽器類型及版本
- js根據(jù)手機(jī)客戶端瀏覽器類型,判斷跳轉(zhuǎn)官網(wǎng)/手機(jī)網(wǎng)站多個實(shí)例代碼
- js/jquery判斷瀏覽器類型的方法小結(jié)
- js判斷當(dāng)前瀏覽器類型,判斷IE瀏覽器方法
- 利用js判斷瀏覽器類型(是否為IE,Firefox,Opera瀏覽器)
- js如何判斷不同系統(tǒng)的瀏覽器類型
- js判斷手機(jī)瀏覽器操作系統(tǒng)和微信瀏覽器的方法
- 封裝好的js判斷操作系統(tǒng)與瀏覽器代碼分享
- 利用Javascript判斷操作系統(tǒng)的類型實(shí)現(xiàn)不同操作系統(tǒng)下的兼容性
相關(guān)文章
layer的prompt彈出框,點(diǎn)擊回車,觸發(fā)確定事件的方法
今天小編就為大家分享一篇layer的prompt彈出框,點(diǎn)擊回車,觸發(fā)確定事件的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09JavaScript實(shí)現(xiàn)三級級聯(lián)特效
這篇文章主要介紹了JavaScript實(shí)現(xiàn)三級級聯(lián)特效,選擇省會出現(xiàn)相應(yīng)的縣下拉框,同時市的下拉框改變,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11前端使用JavaScript結(jié)合CSS實(shí)現(xiàn)3D旋轉(zhuǎn)跟隨鼠標(biāo)變化
這篇文章主要介紹了前端使用JavaScript結(jié)合CSS實(shí)現(xiàn)3D旋轉(zhuǎn)跟隨鼠標(biāo)變化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01javascript判斷兩個IP地址是否在同一個網(wǎng)段的實(shí)現(xiàn)思路
要判斷兩個IP地址是否在同一個網(wǎng)段,將它們的IP地址分別與子網(wǎng)掩碼做與運(yùn)算,得到的結(jié)果為網(wǎng)絡(luò)號,具體實(shí)現(xiàn)如下,需要的朋友可以參考下2013-12-12JavaScript中正則表達(dá)式判斷匹配規(guī)則及常用方法
JS作為一門常用于web開發(fā)的語言,必然要具備正則這種強(qiáng)大的特性,本文將對JS中的正則用法及常用函數(shù)進(jìn)行一番總結(jié)2017-08-08一起來了解一下JavaScript的預(yù)編譯(小結(jié))
這篇文章主要介紹了一起來了解一下JavaScript的預(yù)編譯(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03