JavaScript經過userAgent判斷幾個經常使用瀏覽器

一般在作h5頁面的時候須要在微信、QQ、微博等生態內作一些引流的工做,但引流時受限於這些平臺。好比上次的文章《h5喚醒app實現以及注意點》就是妥協的一個辦法,那麼經常使用的這幾個瀏覽器的User Agent什麼樣呢?如何判斷呢?今天就具體來看看這個問題。html

User Agent定義

User Agent中文名爲用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器可以識別客戶使用的操做系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。---來自百度百科linux

從這句話能夠知道咱們經過UA能獲取到用戶使用的操做系統以及版本、cpu類型、瀏覽器以及版本等信息,是否是呢?android

常見的幾個瀏覽器UA

這裏僅僅獲取了微信、微博、QQ幾個瀏覽器,其他的目前未獲取,若是你們有補充的請私信或則定下評論哦。web

安卓

安卓端的目前採用的是華爲Honor V9 Play,當前Android系統版本爲7.0,EMUI版本爲5.1。chrome

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

QQ

  • 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,當前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

QQ

  • 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處理,因此都是小寫的。bash

分別判斷幾個經常使用瀏覽器

在判斷以前須要對UA作一個操做就是將全部的字母都變成小寫的,經過toLowerCase實現,而後分別來判斷。 經過上面的幾個UA其實已經很好判斷了,在上次的文章裏面已經有個這個寫法了,以下:服務器

/micromessenger/i.test(u)  // 判斷微信
u.indexOf("weibo") > -1   // 判斷微博
u.indexOf(" qq") > -1   // 判斷QQ
u.indexOf("mqqbrowser") > -1   // 判斷QQ瀏覽器
複製代碼

注意QQ的判斷是須要在qq前面加空格的微信

獲取其它信息

經過上面的UA其實不難看出還能夠經過UA判斷出當前是系統是Android仍是iOS,能夠經過如下代碼來區分:app

/android/i.test(UA)  // 判斷Android
/(iPhone|iPad|iPod|iOS)/i.test(UA)  // 判斷iOS
複製代碼

經過上面的數據還能夠看出手機的具體類型,這裏就不過多介紹了。另外不少移動端瀏覽器是能夠改變UA的,好比夸克和UC。若是你們深刻研究還能獲取到更多的信息的。

相關文章
相關標籤/搜索