1、IE浏览器
IE浏览器判断
!!window.ActiveXObject || "ActiveXObject" in window
IE11判断关键字 Trident + rv
"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; McAfee; rv:11.0) like Gecko"
IE11之前判断关键字 MSIE
"Mozilla/5.0 (compatible; MSIE 10.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)"
2、Chrome、Safari和Edge
Edge
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
Safari
"User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"
Chrome
"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Mobile Safari/537.36"
判断顺序 Edge > Chrome > Safari
3、代码
function myBrowser() {
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
if (!!window.ActiveXObject || "ActiveXObject" in window) { //IE判断
return 'IE' + getVersion(userAgent, 'IE');
} else if(userAgent.indexOf("Opera") > -1){
return 'Opera' + getVersion(userAgent, 'Opera');
} else if(userAgent.indexOf("Edge") > -1){
return 'Edge' + getVersion(userAgent, 'Edge');
} else if(userAgent.indexOf("Chrome") > -1){
return 'Chrome' + getVersion(userAgent, 'Chrome');
} else if(userAgent.indexOf("Safari") > -1){
return 'Safari' + getVersion(userAgent, 'Safari');
} else if(userAgent.indexOf("Firefox") > -1){
return 'Firefox'+ getVersion(userAgent, 'Firefox');
}
}
function getVersion(userAgent, browser) {//浏览器版本判断
if (browser == 'IE') {//IE版本
return userAgent.match(/MSIE ([\d.]+)/) != null ? userAgent.match(/MSIE ([\d.]+)/)[1] : userAgent.match(/rv:([\d.]+)/)[1];
} else if(browser == 'Safari'){//Safari版本
return userAgent.match(/Version\/([\d.]+)/)[1];
} else {
return userAgent.match(new RegExp(browser + '/([\\d.]+)'))[1];
}
}