function getBrowserInfo() {
var userAgent = navigator.userAgent; // 获取用户代理字符串
var browserInfo = {
name: '', // 浏览器名称
version: '' // 浏览器版本
};
// 判断是否为IE浏览器
if (/MSIE|Trident/.test(userAgent)) {
var temp = userAgent.split(';');
for (var i = 0; i < temp.length; i++) {
if (/rv:(\d+(\.\d+)?)/.test(temp[i])) {
browserInfo.name = 'IE';
browserInfo.version = RegExp.$1;
break;
}
}
}
// 判断是否为Edge浏览器
else if (/Edge\/(\d+(\.\d+)?)/.test(userAgent)) {
browserInfo.name = 'Edge';
browserInfo.version = RegExp.$1;
}
// 判断是否为Firefox浏览器
else if (/Firefox\/(\d+(\.\d+)?)/.test(userAgent)) {
browserInfo.name = 'Firefox';
browserInfo.version = RegExp.$1;
}
// 判断是否为Chrome浏览器
else if (/Chrome\/(\d+(\.\d+)?)/.test(userAgent)) {
browserInfo.name = 'Chrome';
browserInfo.version = RegExp.$1;
}
// 判断是否为Safari浏览器
else if (/Safari\/(\d+(\.\d+)?)/.test(userAgent) && !/Chrome/.test(userAgent)) {
browserInfo.name = 'Safari';
browserInfo.version = RegExp.$1;
}
// 判断是否为Opera浏览器
else if (/OPR\/(\d+(\.\d+)?)/.test(userAgent)) {
browserInfo.name = 'Opera';
browserInfo.version = RegExp.$1;
}
// 返回浏览器信息
return browserInfo;
}
// 使用示例
console.log(getBrowserInfo());
这段代码通过检测用户代理字符串(`navigator.userAgent`)来判断浏览器的类型和版本。它支持IE、Edge、Firefox、Chrome、Safari和Opera等主流浏览器。需要注意的是,随着浏览器的发展和更新,`userAgent`字符串的格式可能会有所变化,因此这段代码可能需要根据实际情况进行调整。