js判断mobile或PC,浏览器内核,浏览器版本

首先你要了解userAgent这东西在不同的浏览器都是什么:
-------------------------
userAgent:	
IE5-10:
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Zoom 3.6.0)"

IE11:
"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Zoom 3.6.0; rv:11.0) like Gecko"

Edge:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"


Chrome:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"

firefox:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0"

safari:
 Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50
-------------------------

<!DOCTYPE HTML>
<html>

<head>
		<script src="https://cdn.bootcss.com/jquery/1.7.1/jquery.min.js"></script>
	<script>
		// $(function() {
		// 	showOrHide();
		// })
		window.onload = function () {
			//document.write("Browser type:" + BrowserType() + "<br>");
			showOrHide();
		}

		function showOrHide() {
			var userAgent = navigator.userAgent;
			
			if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent) ) {
				var android = userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1;
				var windowPhone = userAgent.indexOf('Windows Phone') > -1;
				var ios = !!userAgent.match(/\(i[^;]+;( userAgent;)? CPU.+Mac OS X/);
				var webKit = userAgent.indexOf('AppleWebKit') > -1;
				var trident = userAgent.indexOf('Trident') > -1;
				var iPhone = userAgent.indexOf('iPhone') > -1;
				var iPad = userAgent.indexOf('iPad') > -1;
				if(android || windowPhone || ios || webKit || trident || iPhone || iPad) {
					$("#header").show();
				} else{
					$("#header").hide();
				}
			} else {
				var isOpera = userAgent.indexOf("Opera") > -1;
				var isIE10orLess = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1;
				var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
				var isFirefox = userAgent.indexOf("Firefox") > -1;
				var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1;
				var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Edge") == -1;
				var isEdge = userAgent.indexOf("Edge") > -1 && !isIE10orLess;
				if(isOpera || isIE11 || isFirefox || isSafari || isChrome || isEdge) {
					$("#echat_header").show();
				} else {
					$("#echat_header").hide();
				}
			}
		}

		function BrowserType() {
			var userAgent = navigator.userAgent;
			var isOpera = userAgent.indexOf("Opera") > -1;
			var isIE10orLess = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1;
			var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
			var isFirefox = userAgent.indexOf("Firefox") > -1;
			var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1;
			var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Edge") == -1;
			var isEdge = userAgent.indexOf("Edge") > -1 && !isIE10orLess;

			var trident = userAgent.indexOf('Trident') > -1; //IE内核
			var presto = userAgent.indexOf('Presto') > -1; //opera内核
			var webKit = userAgent.indexOf('AppleWebKit') > -1; //苹果、谷歌内核
			var gecko = userAgent.indexOf('Gecko') > -1 && userAgent.indexOf('KHTML') == -1;//火狐内核
			var mobile = !!userAgent.match(/AppleWebKit.*Mobile.*/); //是否为移动终端
			var ios = !!userAgent.match(/\(i[^;]+;( userAgent;)? CPU.+Mac OS X/); //ios终端
			var android = userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1; //android终端
			var iPhone = userAgent.indexOf('iPhone') > -1 ; //是否为iPhone或者QQHD浏览器
			var iPad = userAgent.indexOf('iPad') > -1; //是否iPad
			var webApp = userAgent.indexOf('Safari') == -1; //是否web应该程序,没有头部与底部
			var weixin = userAgent.indexOf('MicroMessenger') > -1; //是否微信 (2015-01-22新增)
			var qq = userAgent.match(/\sQQ/i) == " qq"; //是否QQ
			var windowPhone = userAgent.indexOf('Windows Phone') > -1;

			debugger;
			if (isIE10orLess) {
				var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
				reIE.test(userAgent);
				var fIEVersion = parseFloat(RegExp["$1"]);
				if (fIEVersion == 7) { return "IE7"; }
				else if (fIEVersion == 8) { return "IE8"; }
				else if (fIEVersion == 9) { return "IE9"; }
				else if (fIEVersion == 10) { return "IE10"; }
				else { return "0" }//IE版本过低 
			}
			if (isIE11) { return "IE11"; }
			if (isFirefox) { return "Firefox"; }
			if (isOpera) { return "Opera"; }
			if (isSafari) { return "Safari"; }
			if (isChrome) { return "Chrome"; }
			if (isEdge) { return "Edge"; }
		}
	</script>
</head>

<body>
	<div id="echat_header" style="background: red;">test</div>
</body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值