做者:汪嬌嬌javascript
日期:2016.8.4html
顧名思義,User Agent中文名就是用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器可以識別客戶使用的操做系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。知道了這些就能判斷使用的是哪一個平臺或終端,後續擼代碼也就能更好知足需求了。java
userAgent 屬性是一個只讀的字符串,聲明瞭瀏覽器用於 HTTP 請求的用戶代理頭的值。windows
通常來說,它是在 navigator.appCodeName 的值以後加上斜線和 navigator.appVersion 的值構成的。瀏覽器
例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。服務器
注:用戶代理頭:user-agent headerapp
語法:函數
navigator.userAgent
實例:spa
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script> console.log(navigator.userAgent); </script> </html>
我是用谷歌瀏覽器打開的,而後log出的信息以下所示:
操作系統
若是模擬手機模式(iPhone6)的話,log出來的結果又是不同的:
基於好多項目都要用到UA,因此就封裝了個小函數,拿起來就用就方便多了。
function parseUA(UA) { UA = UA || navigator.userAgent; return { isIOS: !!UA.match(/iOS|iPad|iPhone/i), isAndroid: !!UA.match(/Android/i), isMobile: !!UA.match(/iOS|iPad|iPhone|Android|windows Phone/i), isQQ: !!UA.match(/qq/i), isWeixin: !!UA.match(/micromessenger/i), isWeibo: !!UA.match(/weibo/i) }; }
調用的代碼以下:
var ua=parseUA(); if (ua.isMobile) { console.log("isMobile"); }else if (ua.isWeixin || ua.isQQ) { console.log("isWeixin and isQQ"); } else if (ua.isIOS) { console.log("isIOS"); }else { console.log("isAndroid"); }
最後,如若哪裏有問題,還請輕噴,可是歡迎指出你們一塊兒交流(*^__^*) !