浏览器判断
程序员文章站
2022-05-25 19:47:32
...
很多时候会涉及到浏览器(主要是IE和其他浏览器)的判断,再根据判断结果对当前显示信息进行编辑,所以这篇文章主要是对浏览器判断做个总结。
- 只判断是否是 IE,其他浏览器写入else里面
if(!!window.ActiveXObject || “ActiveXObject” in window){
//IE
}
- 判断是哪个浏览器及浏览器版本
//浏览器类型及版本
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
推荐阅读