亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

用戶代理字符串userAgent可實現的四個識別

2019-11-20 11:32:44
字體:
來源:轉載
供稿:網友

定義

  用戶代理字符串:navigator.userAgent

  HTTP規范明確規定,瀏覽器應該發送簡短的用戶代理字符串,指明瀏覽器的名稱和版本號。但現實中卻沒有這么簡單。

發展歷史

【1】1993年美國NCSA國家超級計算機中心發布了世界上第一款web瀏覽器Mosaic,該瀏覽器的用戶代理字符串為Mosaic/0.9

【2】Netscape公司進入瀏覽器開發領域,將自己產品的代號定名了Mozilla(Mosaic Killer)的簡寫,用戶代理字符串格式為Mozilla/版本號 [語言] (平臺;加密類型)

【3】IE發布的第一款贏得用戶廣泛認可的web瀏覽器IE3,當時Netscap已經占據了絕對市場份額,為了讓服務器能夠檢測到IE,IE將用戶代理字符串修改成兼容Netscape的形式:Mozilla/2.0(compatible;MSIE版本號;操作系統)

【4】各瀏覽器陸續出現,用戶代理字符串的顯示格式也越來越類似…… 

測試工具

 利用各桌面瀏覽器調試工具,主要是IE調試工具及chrome的emulation手機調試工具

 

桌面端測試結果

【1】IE

  [1.1]IE3

    Mozilla/2.0 (compatible; MSIE3.02; windows 95)

  [1.2]IE6

    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

  [1.3]IE7

    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

  [1.4]IE8

    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)

  [1.5]IE9

    Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

  [1.6]IE10

    Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)

  [1.7]IE11

    Mozilla/5.0 (MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET

CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3; GWX:QUALIFIED; rv:11.0) like Gecko

【2】chrome

  Mozilla/5.0 (Windows NT 6.1; WOW64)G AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36

【3】safari

  Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2

【4】firefox

  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0

【5】opera

  Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 OPR/32.0.1948.25

移動端測試結果

【1】ipad

  Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53

【2】iphone

  Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4

【3】android

  Mozilla/5.0 (Linux; Android 4.2.2; GT-I9505 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36

識別瀏覽器內核

  常見的內核有Trident、Gecko和Webkit

    [注意]因為Trident和Webkit的用戶代理字符串中可能會出現 like Gecko的字眼,所以最后再測Gecko

function whichEngine(){ var ua = navigator.userAgent; //Trident內核 if(/Trident/.test(ua)){  return "Trident"; } //Webkit內核 if(/WebKit/.test(ua)){  return "WebKit"; }   //Gecko內核 if(/Gecko/.test(ua)){  return "Gecko"; }}console.log(whichEngine());//IE11下顯示"Trident"

識別瀏覽器版本

【1】IE

  IE3-IE10都可以通過MSIE的版本號來判斷,因為有的IE11并不出現MSIE字符,且safari中也有rv字段,所以IE11需要通過rv后的版本號和Trident來配合判斷

function isIE(){ var ua = navigator.userAgent; //檢測Trident引擎,IE8+ if(/Trident/.test(ua)){  //IE11+  if(/rv:(/d+)/.test(ua)){   return RegExp["$1"];  }   //IE8-IE10   if(/MSIE (/d+)/.test(ua)){   return RegExp["$1"];  }   } //檢測IE標識,IE7- if(/MSIE (/d+)/.test(ua)){  return RegExp["$1"]; } }console.log(isIE());//只有IE會返回版本號,其他瀏覽器都返回undefined

【2】chrome

function isChrome(){ var ua = navigator.userAgent; //先排除opera,因為opera只是在chrome的userAgent后加入了自己的標識 if(!/OPR/.test(ua)){  if(/Chrome//(/S+)/.test(ua)){   return RegExp["$1"];  }  } }console.log(isChrome());//只有Chrome會返回版本號45.0.2454.93,其他瀏覽器都返回undefined

【3】safari

function isSafari(){ var ua = navigator.userAgent; //先排除opera if(!/OPR/.test(ua)){  //檢測出chrome和safari瀏覽器  if(/Safari/.test(ua)){   //檢測出safari   if(/Version//(/S+)/.test(ua)){    return RegExp["$1"];   }    } } }console.log(isSafari());//只有safari會返回版本號5.1.7,其他瀏覽器都返回undefined

【4】firefox

function isFireFox(){ if(/Firefox//(/S+)/.test(navigator.userAgent)){  return RegExp["$1"]; } }console.log(isFireFox());//只有firefox會返回版本號40.0,其他瀏覽器都返回undefined

【5】opera

function isOpera(){ if(/OPR//(/S+)/.test(navigator.userAgent)){  return RegExp["$1"]; } }console.log(isOpera());//只有opera會返回版本號32.0.1948.25,其他瀏覽器都返回undefined 

識別操作系統

  使用navigator.platform檢測操作系統更加簡單,因為其可能包括的值為“Win32”、“Win64”、“MacPPC”、“MacIntel”、“X11”和"Linux i686"等,且在不同瀏覽器中是一致的。

  而通過navigator.userAgent可以來得到window系統的詳細信息。

windows版本                        ->             內核版本
Windows XP                        ->             5.1
Windows Vista                     ->             6.0
Windows 7                         ->             6.1
Windows 8                         ->             6.2
Windows 8.1                       ->             6.3
Windows 10技術預覽版               ->             6.4
Windows 10(Build 9880+)           ->             10

function whichSyStem(){ var ua = navigator.userAgent; var pf = navigator.platform; if(/Mac/.test(pf)){  return "Mac"; } if(/X11/.test(pf) || /Linux/.test(pf)){  return "Linux"; } if(/Win/.test(pf)){  if(/Windows NT (/d+/./d+)/.test(ua)){   switch(RegExp["$1"]){    case "5.0":     return "Windows 2000";    case "5.1":     return "Windows XP";    case "6.0":     return "Windows Vista";    case "6.1":     return "Windows 7";    case "6.2":     return "Windows 8";    case "6.3":     return "Windows 8.1";    case "6.4":    case "10":     return "Windows 10";        }  } }}console.log(whichSyStem())//Windows 7

識別移動端設備

function whichMobile(){ var ua = navigator.userAgent; if(/iPhone OS (/d+_/d+)/.test(ua)){  return 'iPhone Mac' + RegExp.$1.replace("_","."); } if(/iPad.+OS (/d+_/d+)/.test(ua)){  return 'iPad Mac' + RegExp.$1.replace("_",".") } if(/Android (/d+/./d+)/.test(ua)){  return 'Android' + RegExp["$1"]; }}console.log(whichMobile())//Android 5.1

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线国产精品| 中文字幕精品一区二区精品| 日韩少妇与小伙激情| 国产成人精品视频在线观看| 一区二区三区美女xx视频| 亚洲最新av在线网站| 97在线观看免费| 92看片淫黄大片看国产片| 国产精品日韩在线| 成人春色激情网| 韩国福利视频一区| 久久福利视频网| 91网站免费观看| 久久久久久久国产| 97视频在线观看成人| 日韩在线中文视频| 在线播放精品一区二区三区| 韩国三级电影久久久久久| 亚洲2020天天堂在线观看| 国产精品视频精品| 国产欧美亚洲视频| 国产一区二区黑人欧美xxxx| 午夜精品福利电影| 国产亚洲欧美日韩美女| 午夜精品久久久久久久99热| 久久国产天堂福利天堂| 91精品国产免费久久久久久| 亚洲一区第一页| 日日摸夜夜添一区| 亚洲www视频| 在线免费观看羞羞视频一区二区| 亚洲国产99精品国自产| 国产a∨精品一区二区三区不卡| 日韩成人在线播放| 亚洲综合小说区| 亚洲第一二三四五区| 精品久久久久久久中文字幕| 日韩福利在线播放| 亚洲网在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 这里只有精品在线播放| 欧美大全免费观看电视剧大泉洋| 亚洲欧美精品suv| 日韩在线国产精品| 欧美高清videos高潮hd| 自拍偷拍亚洲欧美| 日韩专区在线播放| 欧美日韩综合视频网址| 国产精品视频网站| 日韩精品中文字幕在线观看| 最近免费中文字幕视频2019| 久久免费观看视频| 亚洲综合一区二区不卡| 亚洲国产精品专区久久| 日韩av毛片网| 亚洲国产婷婷香蕉久久久久久| 欧美精品在线极品| 午夜精品蜜臀一区二区三区免费| 久久国产一区二区三区| 欧美激情精品在线| 欧美专区日韩视频| 欧美视频第一页| 欧美成人午夜影院| 91精品国产色综合| 日韩av色在线| 日韩av毛片网| 成人av.网址在线网站| 久久视频在线视频| www.欧美三级电影.com| 日韩在线免费观看视频| 国产一区二区三区网站| 92看片淫黄大片看国产片| 亚洲精品aⅴ中文字幕乱码| wwwwwwww亚洲| 国产精品日韩专区| 欧美成人国产va精品日本一级| 国产丝袜一区二区三区| 日本精品久久电影| 国产视频久久网| 亚洲欧美一区二区三区在线| 日韩在线免费观看视频| 九九精品在线视频| 国模精品系列视频| 免费av在线一区| 国产精品久久国产精品99gif| 国产日韩欧美自拍| 91精品国产高清自在线| 日韩在线欧美在线| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲美女av黄| www国产亚洲精品久久网站| 成人免费激情视频| 亚洲人成电影网站色…| 中文字幕在线观看日韩| 欧美日韩国产色| 久久久久女教师免费一区| 久久99精品国产99久久6尤物| 在线观看不卡av| 欧美噜噜久久久xxx| 精品国产乱码久久久久酒店| 久久中文字幕一区| 欧美成年人在线观看| 97在线视频免费播放| 国产成人自拍视频在线观看| 欧美性猛交xxxx免费看久久久| 亚洲国产毛片完整版| 国产精品成人一区二区| 国产精品久久网| 91视频国产精品| 97在线视频免费看| 欧美精品中文字幕一区| 国产精品视频永久免费播放| 亚洲а∨天堂久久精品喷水| 国产精品第一视频| 岛国av午夜精品| 日韩禁在线播放| 91在线观看免费网站| 成人黄色短视频在线观看| 韩国一区二区电影| 中文日韩在线视频| 午夜精品一区二区三区在线视| 国产做受高潮69| 91精品视频在线免费观看| 成人h片在线播放免费网站| 91社区国产高清| 亚洲国产精品悠悠久久琪琪| 日韩av在线影院| 97国产精品视频人人做人人爱| 91老司机精品视频| 欧美与黑人午夜性猛交久久久| 日韩视频免费观看| 欧美性猛交xxxx乱大交| 久久精品中文字幕| 激情成人中文字幕| 夜夜狂射影院欧美极品| 色妞在线综合亚洲欧美| 欧美激情亚洲自拍| 中文字幕成人精品久久不卡| 久久久久一本一区二区青青蜜月| 国内精品美女av在线播放| 久久精品电影网| 日韩欧美黄色动漫| 日韩女优在线播放| 欧美日韩中文字幕| 精品国产31久久久久久| 狠狠做深爱婷婷久久综合一区| 97av在线播放| 国产精品久久久久久久av大片| 日韩精品视频观看| 国产精品女视频| 一区二区在线视频| 欧美大学生性色视频| 亚洲精品国产精品久久清纯直播| 国产精品一久久香蕉国产线看观看| 中文字幕亚洲欧美在线| 国产精品无av码在线观看| 国产脚交av在线一区二区| 九九热这里只有精品免费看| 国产91精品久久久| 亚洲精品久久久久| 日韩美女激情视频| 欧美激情一级欧美精品| 国产精品美女网站| 亚洲精品美女免费|