JavaScript如何通過userAgent判斷幾個常用瀏覽器詳解
前言
通常在做h5頁面的時(shí)候需要在微信、QQ、微博等生態(tài)內(nèi)做一些引流的工作,但引流時(shí)受限于這些平臺。比如上次的文章《h5喚醒a(bǔ)pp實(shí)現(xiàn)以及注意點(diǎn)》就是妥協(xié)的一個辦法,那么常用的這幾個瀏覽器的User Agent什么樣呢?如何判斷呢?今天就具體來看看這個問題。
User Agent定義
User Agent中文名為用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務(wù)器能夠識別客戶使用的操作系統(tǒng)及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。---來自百度百科
從這句話可以知道我們通過UA能獲取到用戶使用的操作系統(tǒng)以及版本、cpu類型、瀏覽器以及版本等信息,是不是呢?
常見的幾個瀏覽器UA
這里僅僅獲取了微信、微博、QQ幾個瀏覽器,其余的目前未獲取,如果大家有補(bǔ)充的請私信或則定下評論哦。
安卓
安卓端的目前采用的是華為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/62.0.3202.84 mobile safari/537.36 v1_and_sq_8.1.0_1232_yyb_d qq/8.1.0.4150 nettype/wifi webp/0.4.1 pixel/720 statusbarheight/49 simpleuiswitch/0
- Version:8.1.0.4150
微信
- 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 qq/8.1.0.437 v1_iph_sq_8.1.0_1_app_a pixel/1080 core/wkwebview device/apple(iphone 6splus) nettype/wifi qbwebviewtype/1 wktype/1
- Version:8.1.0.437
微信
- 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處理,所以都是小寫的。
分別判斷幾個常用瀏覽器
在判斷之前需要對UA做一個操作就是將所有的字母都變成小寫的,通過toLowerCase實(shí)現(xiàn),然后分別來判斷。
通過上面的幾個UA其實(shí)已經(jīng)很好判斷了,在上次的文章里面已經(jīng)有個這個寫法了,如下:
/micromessenger/i.test(u) // 判斷微信 u.indexOf("weibo") > -1 // 判斷微博 u.indexOf(" qq") > -1 // 判斷QQ u.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ī)的具體類型,這里就不過多介紹了。另外很多移動端瀏覽器是可以改變UA的,比如夸克和UC。如果大家深入研究還能獲取到更多的信息的。
總結(jié)
到此這篇關(guān)于JavaScript如何通過userAgent判斷幾個常用瀏覽器的文章就介紹到這了,更多相關(guān)JS userAgent判斷瀏覽器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
這應(yīng)該是最詳細(xì)的響應(yīng)式系統(tǒng)講解了
這篇文章主要介紹了這應(yīng)該是最詳細(xì)的響應(yīng)式系統(tǒng)講解了,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07JS window對象的top、parent、opener含義介紹
本文為大家介紹下JS window對象的top、parent、opener含義,不了解的朋友可以參考下,希望對大家有所幫助2013-12-12用DIV完美模擬createPopup 彈出窗口(腳本之家修正版),支持Firefox,ie,chrome
最近要重構(gòu)公司的一個站,有一個拾色器只支持IE,不支持FIREFOX CHROME等瀏覽器,花了點(diǎn)時(shí)間對照原來的重寫了個。完美實(shí)現(xiàn)createPopup方法的彈窗效果,歡迎大家拍磚!2009-09-09js實(shí)現(xiàn)快速分享功能(你的文章分享工具)
這是一款簡單易用的文章分享工具,您只需將下面的html代碼拷貝到模板中就可以實(shí)現(xiàn)文章快速分享功能,具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-06-06Uni-App用uView組件庫中u-picker實(shí)現(xiàn)地區(qū)的省-市-區(qū)三級聯(lián)動、確認(rèn)及回顯
最近項(xiàng)目要使用uni-app遇到省市縣三級聯(lián)動的問題,下面這篇文章主要給大家介紹了關(guān)于Uni-App用uView組件庫中u-picker實(shí)現(xiàn)地區(qū)的省-市-區(qū)三級聯(lián)動、確認(rèn)及回顯的相關(guān)資料,需要的朋友可以參考下2023-12-12