User Agent(用戶代理)

做者:汪嬌嬌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");
}

最後,如若哪裏有問題,還請輕噴,可是歡迎指出你們一塊兒交流(*^__^*) !

相關文章
相關標籤/搜索