如果只是需要区分当前浏览器是不是IE浏览器,那只需要借助 ActiveXObject 来实现就行了,
ActiveXObject 是 Internet Explorer (IE) 浏览器中的一个内置对象,用于创建和操作各种 ActiveX 控件和 COM 对象。它提供了与客户端操作系统和其他应用程序交互的能力。ActiveXObject 只在 IE 浏览器中可用,并且在现代浏览器中往往不被支持。
// 判断浏览器是不是 IE 浏览器
function isIE () {
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
};
如果需要判断主流的浏览器版本,则需要使用window.navigator.userAgent来实现
function getBrowserType() {
// 获取浏览器 userAgent
var ua = navigator.userAgent;
// 是否为 Opera
var isOpera = ua.indexOf('Opera') > -1;
// 返回结果
if (isOpera) {
return 'Opera';
}
// 是否为 IE
var isIE = ua.indexOf('compatible') > -1 && ua.indexOf('MSIE') > -1 && !isOpera;
var isIE11 = ua.indexOf('Trident') > -1 && ua.indexOf('rv:11.0') > -1;
// 返回结果
if (isIE11) {
return 'IE11';
} else if (isIE) {
// 检测是否匹配
var re = new RegExp('MSIE (\\d+\\.\\d+);');
re.test(ua);
// 获取版本
var ver = parseFloat(RegExp['$1']);
// 返回结果
if (ver == 7) {
return 'IE7';
} else if (ver == 8) {
return 'IE8';
} else if (ver == 9) {
return 'IE9';
} else if (ver == 10) {
return 'IE10';
} else {
return 'IE';
}
}
// 是否为 Edge
var isEdge = ua.indexOf('Edge') > -1;
// 返回结果
if (isEdge) {
return 'Edge';
}
// 是否为 Firefox
var isFirefox = ua.indexOf('Firefox') > -1;
// 返回结果
if (isFirefox) {
return 'Firefox';
}
// 是否为 Safari
var isSafari = ua.indexOf('Safari') > -1 && ua.indexOf('Chrome') == -1;
// 返回结果
if (isSafari) {
return 'Safari';
}
// 是否为 Chrome
var isChrome = ua.indexOf('Chrome') > -1 && ua.indexOf('Safari') > -1 && ua.indexOf('Edge') == -1;
// 返回结果
if (isChrome) {
return 'Chrome';
}
// 是否为 UC
var isUC = ua.indexOf('UBrowser') > -1;
// 返回结果
if (isUC) {
return 'UC';
}
// 是否为 QQ
var isQQ = ua.indexOf('QQBrowser') > -1; // 返回结果
if (isQQ) {
return 'QQ';
}
// 都不是
return '';
}