JavaScript如何通過(guò)userAgent判斷幾個(gè)常用瀏覽器詳解
通常在做h5頁(yè)面的時(shí)候需要在微信、QQ、微博等生態(tài)內(nèi)做一些引流的工作,但引流時(shí)受限于這些平臺(tái)。比如上次的文章《h5喚醒a(bǔ)pp實(shí)現(xiàn)以及注意點(diǎn)》就是妥協(xié)的一個(gè)辦法,那么常用的這幾個(gè)瀏覽器的User Agent什么樣呢?如何判斷呢?今天就具體來(lái)看看這個(gè)問(wèn)題。
User Agent定義User Agent中文名為用戶代理,簡(jiǎn)稱 UA,它是一個(gè)特殊字符串頭,使得服務(wù)器能夠識(shí)別客戶使用的操作系統(tǒng)及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語(yǔ)言、瀏覽器插件等。---來(lái)自百度百科
從這句話可以知道我們通過(guò)UA能獲取到用戶使用的操作系統(tǒng)以及版本、cpu類型、瀏覽器以及版本等信息,是不是呢?
常見(jiàn)的幾個(gè)瀏覽器UA這里僅僅獲取了微信、微博、QQ幾個(gè)瀏覽器,其余的目前未獲取,如果大家有補(bǔ)充的請(qǐng)私信或則定下評(píng)論哦。
安卓
安卓端的目前采用的是華為Honor V9 Play,當(dāng)前Android系統(tǒng)版本為7.0,EMUI版本為5.1。
QQ瀏覽器
UA:mozilla/5.0 (linux; u; android 7.0; zh-cn; jmm-al10 build/honorjmm-al10) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/66.0.3359.126 mqqbrowser/9.6 mobile safari/537.36 Version:9.6.0.5170微信
UA:mozilla/5.0 (linux; android 7.0; jmm-al10 build/honorjmm-al10; wv) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/66.0.3359.126 mqqbrowser/6.2 tbs/044807 mobile safari/537.36 mmwebid/4093 micromessenger/7.0.6.1460(0x27000634) process/tools nettype/wifi language/zh_cn Version:7.0.6微博
UA:mozilla/5.0 (linux; android 7.0; jmm-al10 build/honorjmm-al10; wv) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/62.0.3202.84 mobile safari/537.36 weibo (huawei-jmm-al10__weibo__9.8.0__android__android7.0) Version:9.8.0蘋果
蘋果端的目前采用的是iPhone 6s Plus,當(dāng)前iOS版本為12.4。
QQ瀏覽器
UA:mozilla/5.0 (iphone; cpu iphone os 12_4 like mac os x) applewebkit/605.1.15 (khtml, like gecko) version/12.0 mqqbrowser/9.6.0 mobile/15e148 safari/604.1 qbwebviewua/2 qbwebviewtype/1 wktype/1 Version:9.6.0.4193微信
UA:mozilla/5.0 (iphone; cpu iphone os 12_4 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148 micromessenger/7.0.5(0x17000523) nettype/wifi language/zh_cn Version:7.0.5微博
UA:mozilla/5.0 (iphone; cpu iphone os 12_4 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148 weibo (iphone8,2__weibo__9.7.1__iphone__os12.4) Version:9.7.1以上UA的所有值都通過(guò)toLowerCase處理,所以都是小寫的。
分別判斷幾個(gè)常用瀏覽器在判斷之前需要對(duì)UA做一個(gè)操作就是將所有的字母都變成小寫的,通過(guò)toLowerCase實(shí)現(xiàn),然后分別來(lái)判斷。
通過(guò)上面的幾個(gè)UA其實(shí)已經(jīng)很好判斷了,在上次的文章里面已經(jīng)有個(gè)這個(gè)寫法了,如下:
/micromessenger/i.test(u) // 判斷微信u.indexOf('weibo') > -1 // 判斷微博u.indexOf(' qq') > -1 // 判斷QQu.indexOf('mqqbrowser') > -1 // 判斷QQ瀏覽器
注意QQ的判斷是需要在qq前面加空格的
獲取其它信息通過(guò)上面的UA其實(shí)不難看出還可以通過(guò)UA判斷出當(dāng)前是系統(tǒng)是Android還是iOS,可以通過(guò)以下代碼來(lái)區(qū)分:
/android/i.test(UA) // 判斷Android/(iPhone|iPad|iPod|iOS)/i.test(UA) // 判斷iOS
通過(guò)上面的數(shù)據(jù)還可以看出手機(jī)的具體類型,這里就不過(guò)多介紹了。另外很多移動(dòng)端瀏覽器是可以改變UA的,比如夸克和UC。如果大家深入研究還能獲取到更多的信息的。
總結(jié)到此這篇關(guān)于JavaScript如何通過(guò)userAgent判斷幾個(gè)常用瀏覽器的文章就介紹到這了,更多相關(guān)JS userAgent判斷瀏覽器內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python自動(dòng)化調(diào)用百度api解決驗(yàn)證碼2. 解決Android Studio 格式化 Format代碼快捷鍵問(wèn)題3. Java Bean與Map之間相互轉(zhuǎn)化的實(shí)現(xiàn)方法4. vue實(shí)現(xiàn)web在線聊天功能5. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問(wèn)題6. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)7. Python使用urlretrieve實(shí)現(xiàn)直接遠(yuǎn)程下載圖片的示例代碼8. Java使用Tesseract-Ocr識(shí)別數(shù)字9. 在Chrome DevTools中調(diào)試JavaScript的實(shí)現(xiàn)10. Springboot 全局日期格式化處理的實(shí)現(xiàn)
