语言
typescript
代码
判断浏览器类型及版本
export interface BrowerModel{
version:string;
browerCore:string;
}
static TestBrower(): BrowerModel {
let ua = navigator.userAgent.toLowerCase();
let s = ua.match(/edge\/([\d.]+)/);
if (s) { //edge
let version = s[1].split('.');
return { version: version[0], browerCore: 'edge' }
}
s = ua.match(/rv:([\d.]+)\) like gecko/);
if (s) { //ie
let version = s[1].split('.');
return { version: version[0], browerCore: 'ie' }
}
s = ua.match(/msie ([\d.]+)/);
if (s) { //ie
let version = s[1].split('.');
return { version: version[0], browerCore: 'ie' }
}
s = ua.match(/firefox\/([\d.]+)/);
if (s) { //firefox
let version = s[1].split('.');
return { version: version[0], browerCore: 'firefox' }
}
s = ua.match(/chrome\/([\d.]+)/);
if (s) { //chrome
let version = s[1].split('.');
if (ua.indexOf('edg') > -1) {
return { version: version[0], browerCore: 'edge' }
}
return { version: version[0], browerCore: 'chrome' }
}
s = ua.match(/opera.([\d.]+)/);
if (s) { //opera
let version = s[1].split('.');
return { version: version[0], browerCore: 'opera' }
}
s = ua.match(/version\/([\d.]+).*safari/);
if (s) { //safari
return { version: s[1], browerCore: 'safari' }
}
return { version: '', browerCore: 'unknown' }
}
判断设备类型
/** * 是否为mac系统(包含iphone手机) * */
static isMac(): boolean {
return /macintosh|mac os x/i.test(navigator.userAgent);
}