JavaScript如何通過userAgent判斷幾個(gè)常用瀏覽器詳解
通常在做h5頁面的時(shí)候需要在微信、QQ、微博等生態(tài)內(nèi)做一些引流的工作,但引流時(shí)受限于這些平臺(tái)。比如上次的文章《h5喚醒a(bǔ)pp實(shí)現(xiàn)以及注意點(diǎn)》就是妥協(xié)的一個(gè)辦法,那么常用的這幾個(gè)瀏覽器的User Agent什么樣呢?如何判斷呢?今天就具體來看看這個(gè)問題。
User Agent定義User Agent中文名為用戶代理,簡稱 UA,它是一個(gè)特殊字符串頭,使得服務(wù)器能夠識(shí)別客戶使用的操作系統(tǒng)及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。---來自百度百科
從這句話可以知道我們通過UA能獲取到用戶使用的操作系統(tǒng)以及版本、cpu類型、瀏覽器以及版本等信息,是不是呢?
常見的幾個(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的所有值都通過toLowerCase處理,所以都是小寫的。
分別判斷幾個(gè)常用瀏覽器在判斷之前需要對(duì)UA做一個(gè)操作就是將所有的字母都變成小寫的,通過toLowerCase實(shí)現(xiàn),然后分別來判斷。
通過上面的幾個(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前面加空格的
獲取其它信息通過上面的UA其實(shí)不難看出還可以通過UA判斷出當(dāng)前是系統(tǒng)是Android還是iOS,可以通過以下代碼來區(qū)分:
/android/i.test(UA) // 判斷Android/(iPhone|iPad|iPod|iOS)/i.test(UA) // 判斷iOS
通過上面的數(shù)據(jù)還可以看出手機(jī)的具體類型,這里就不過多介紹了。另外很多移動(dòng)端瀏覽器是可以改變UA的,比如夸克和UC。如果大家深入研究還能獲取到更多的信息的。
總結(jié)到此這篇關(guān)于JavaScript如何通過userAgent判斷幾個(gè)常用瀏覽器的文章就介紹到這了,更多相關(guān)JS userAgent判斷瀏覽器內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python GUI庫圖形界面開發(fā)之PyQt5信號(hào)與槽的高級(jí)使用技巧裝飾器信號(hào)與槽詳細(xì)使用方法與實(shí)例2. python b站視頻下載的五種版本3. JavaScript設(shè)計(jì)模式之策略模式實(shí)現(xiàn)原理詳解4. JAVA抽象類及接口使用方法解析5. IntelliJ IDEA安裝插件的方法步驟6. python如何寫個(gè)俄羅斯方塊7. Intellj Idea中的maven工程Java文件顏色不對(duì),未被識(shí)別的解決8. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)9. 如何通過vscode運(yùn)行調(diào)試javascript代碼10. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法
