navigator對象判斷瀏覽器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript">
			/*
			 * BOM
			 * 	- 瀏覽器對象模型
			 * 	- BOM可以使我們通過JS來操作瀏覽器
			 * 	- 在BOM中爲我們提供了一組對象,用來完成對瀏覽器的操作
			 * 	- BOM對象
			 * 		Window
			 * 			- 代表的是整個瀏覽器的窗口,同時window也是網頁中的全局對象
			 * 		Navigator
			 * 			- 代表的當前瀏覽器的信息,通過該對象可以來識別不同的瀏覽器
			 * 		Location
			 * 			- 代表當前瀏覽器的地址欄信息,通過Location可以獲取地址欄信息,或者操作瀏覽器跳轉頁面
			 * 		History
			 * 			- 代表瀏覽器的歷史記錄,可以通過該對象來操作瀏覽器的歷史記錄
			 * 				由於隱私原因,該對象不能獲取到具體的歷史記錄,只能操作瀏覽器向前或向後翻頁
			 * 				而且該操作只在當次訪問時有效
			 * 		Screen
			 * 			- 代表用戶的屏幕的信息,通過該對象可以獲取到用戶的顯示器的相關的信息
			 * 
			 * 
			 * 		這些BOM對象在瀏覽器中都是作爲window對象的屬性保存的,
			 * 			可以通過window對象來使用,也可以直接使用
			 * 
			 * 		
			 */
			
			//console.log(navigator);
			//console.log(location);
			//console.log(history);
			
			/*
			 * Navigator
			 * 	- 代表的當前瀏覽器的信息,通過該對象可以來識別不同的瀏覽器
			 * 	- 由於歷史原因,Navigator對象中的大部分屬性都已經不能幫助我們識別瀏覽器了
			 * 	- 一般我們只會使用userAgent來判斷瀏覽器的信息,
			 * 		userAgent是一個字符串,這個字符串中包含有用來描述瀏覽器信息的內容,
			 * 		不同的瀏覽器會有不同的userAgent
			 * 
			 * 火狐的userAgent
			 * 	Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0
			 * 
			 * Chrome的userAgent
			 *  Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36
			 * 
			 * IE8
			 * 	Mozilla/4.0 (compatible; MSIE 8.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; Media Center PC 6.0; .NET4.0C; .NET4.0E)
			 * 
			 * IE9
			 * 	Mozilla/5.0 (compatible; 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; Media Center PC 6.0; .NET4.0C; .NET4.0E)
			 * 
			 * IE10
			 * 	Mozilla/5.0 (compatible; MSIE 10.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; Media Center PC 6.0; .NET4.0C; .NET4.0E)
			 * 
			 * IE11
			 * 	Mozilla/5.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; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko
			 * 	- 在IE11中已經將微軟和IE相關的標識都已經去除了,所以我們基本已經不能通過UserAgent來識別一個瀏覽器是否是IE了
			 */
			
			//alert(navigator.appName);
			
			var ua = navigator.userAgent;
			
			console.log(ua);
			
			if(/firefox/i.test(ua)){
				alert("你是火狐!!!");
			}else if(/chrome/i.test(ua)){
				alert("你是Chrome");
			}else if(/msie/i.test(ua)){
				alert("你是IE瀏覽器~~~");
			}else if("ActiveXObject" in window){
				alert("你是IE11,槍斃了你~~~");
			}
			
			/*
			 * 如果通過UserAgent不能判斷,還可以通過一些瀏覽器中特有的對象,來判斷瀏覽器的信息
			 * 比如:ActiveXObject
			 */
			/*if("ActiveXObject" in window){
				alert("你是IE,我已經抓住你了~~~");
			}else{
				alert("你不是IE~~~");
			}*/
			
			/*alert("ActiveXObject" in window);*/
			
			
			
		</script>
	</head>
	<body>
		
	</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章