/**
* @typedef BrowserInfo 浏览器信息
* @property {Number} ?opera 欧朋版本号
* @property {Number} ?ie IE 版本号
* @property {Number} ?edge Edge 版本号
* @property {Number} ?firefox Firefox 版本号
* @property {Number} ?chrome Chrome 版本号
* @property {Number} ?safari Safari 版本号
*/
/** 通过浏览器 UserAgent 获取当前浏览器型号和版本
* @category Bom
* @returns {BrowserInfo} 浏览器型号和版本
* @function getUA
* @example
* var browserInfo = getUA();
* console.log(browserInfo); // => {chrome: 98}
*/
export default function getUA() {
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
if ((s = ua.match(/ qq\/([\d.]+)/))) {
Sys.qqBuildinBrowser = Number(s[1].split('.')[0]);
} else if ((s = ua.match(/mqqbrowser\/([\d.]+)/))) {
Sys.qqBrowser = Number(s[1].split('.')[0]);
} else if ((s = ua.match(/opera.([\d.]+)/))) {
Sys.opera = Number(s[1].split('.')[0]);
} else if ((s = ua.match(/msie ([\d.]+)/))) {
Sys.ie = Number(s[1].split('.')[0]);
} else if ((s = ua.match(/edge.([\d.]+)/))) {
Sys.edge = Number(s[1].split('.')[0]);
} else if ((s = ua.match(/firefox\/([\d.]+)/))) {
Sys.firefox = Number(s[1].split('.')[0]);
} else if ((s = ua.match(/chrome\/([\d.]+)/))) {
Sys.chrome = Number(s[1].split('.')[0]);
} else if ((s = ua.match(/version\/([\d.]+).*safari/))) {
Sys.safari = Number(s[1].match(/^\d*.\d*/));
} else if ((s = ua.match(/trident\/([\d.]+)/))) {
Sys.ie = 11;
}
return Sys;
}
Source