项目中偶尔用到判断浏览器类型及相关版本问题,现记录相关代码:
function getBrowserVertion(userAgent) { var browserName, browserVersion, types, Info;
if (userAgent.indexOf("MSIE") > -1) {
types = userAgent.substring(userAgent.indexOf("MSIE"));
Info = (types.split(";")[0]).split(" ");
browserName = Info[0];
browserVersion = Info[1];
} else if (userAgent.indexOf("Firefox") > -1) {
types = userAgent.substring(userAgent.indexOf("Firefox"));
Info = (types.split(" ")[0]).split("/");
browserName = Info[0];
browserVersion = Info[1];
} else if (userAgent.indexOf("Chrome") > -1) {
types = userAgent.substring(userAgent.indexOf("Chrome"));
Info = (types.split(" ")[0]).split("/");
browserName = Info[0];
browserVersion = Info[1];
} else if (userAgent.indexOf("Opera") > -1) {
types = userAgent.substring(userAgent.indexOf("Opera"));
Info = (types.split(" ")[0]).split("/");
browserName = Info[0];
browserVersion = Info[1];
} else if (userAgent.indexOf("Safari") > -1) {
types = userAgent.substring(userAgent.indexOf("Safari"));
Info = (types.split(" ")[0]).split("/");
browserName = Info[0];
browserVersion = Info[1];
} else if (userAgent.indexOf("rv") > -1) { // for IE11
var result = userAgent.substring(userAgent.indexOf("rv"), userAgent.indexOf(")"));
browserName = "MSIE";
browserVersion = result.split(":")[1];
}
if (browserVersion.indexOf('.') != -1) {
browserVersion = browserVersion.substring(0, browserVersion.indexOf('.'));
}
return browserName + "-" + browserVersion;
}
测试:
getBrowserInfo(navigator.userAgent);