欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

浏览器判断

程序员文章站 2022-05-25 19:47:32
...

很多时候会涉及到浏览器(主要是IE和其他浏览器)的判断,再根据判断结果对当前显示信息进行编辑,所以这篇文章主要是对浏览器判断做个总结。

  1. 只判断是否是 IE,其他浏览器写入else里面

if(!!window.ActiveXObject || “ActiveXObject” in window){
//IE
}

  1. 判断是哪个浏览器及浏览器版本
//浏览器类型及版本
function getBrowserInfo() {
	var agent = navigator.userAgent.toLowerCase();
	var regStr_ie = /msie [\d.]+;/gi;
	var regStr_ff = /firefox\/[\d.]+/gi
	var regStr_chrome = /chrome\/[\d.]+/gi;
	var regStr_saf = /safari\/[\d.]+/gi;
	var isIE = agent.indexOf("compatible") > -1 && agent.indexOf("msie" > -1); //判断是否IE<11浏览器  
	var isEdge = agent.indexOf("edge") > -1 && !isIE; //判断是否IE的Edge浏览器  
	var isIE11 = agent.indexOf('trident') > -1 && agent.indexOf("rv:11.0") > -1;
	if (isIE) {
		var reIE = new RegExp("msie (\\d+\\.\\d+);");
		reIE.test(agent);
		var fIEVersion = parseFloat(RegExp["$1"]);
		if (fIEVersion == 7) {
			return "IE/7";
		} else if (fIEVersion == 8) {
			return "IE/8";
		} else if (fIEVersion == 9) {
			return "IE/9";
		} else if (fIEVersion == 10) {
			return "IE/10";
		} 
	} //isIE end 
	if (isIE11) {
		return "IE/11";
	}
	//firefox
	if (agent.indexOf("firefox") > 0) {
		return agent.match(regStr_ff);
	}
	//Safari
	if (agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0) {
		return agent.match(regStr_saf);
	}
	//Chrome
	if (agent.indexOf("chrome") > 0) {
		return agent.match(regStr_chrome);
	}
}

var browser = getBrowserInfo();//取到完整信息
var b_name = (browser + "").replace(/[0-9./]/ig, "");//根据正则将所有数字、‘.’‘/’全部去掉,剩下浏览器名
var b_version = parseInt((browser + "").replace(/[^0-9.]/ig, ""));//根据正则将所有非数字全部去掉,剩下版本        
	
console.log(b_name);
console.log(b_version);

浏览器判断浏览器判断
感谢:https://blog.csdn.net/u013821237/article/details/80583210