通过js获取浏览器信息 华为个别型号的手机,浏览器没有返回android || huawei这些标识 ``` const u: any = navigator.userAgent; export const windows: any = window; export const Weixin: boolean = u.indexOf('MicroMessenger') > -1; // 是否微信内置浏览器 export const Weibo: boolean = u.indexOf('Weibo') > -1; // 是否Weibo内置浏览器 export const Ios: boolean = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios 系统 export const Android: boolean = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; // 安卓 系统 export const Mobile: boolean = !!u.match(/AppleWebKit.*Mobile.*/); // 是否为移动终端 export const Qq: boolean = u.indexOf('QQ') > -1 && (u.indexOf('V1_IPH_SQ') > -1 || u.indexOf('V1_AND_SQ') > -1); // 是否QQ内置浏览器 export const Huawei: boolean = u.toLowerCase().indexOf('huawei') > -1; // 是否为华为浏览器 export const Huawei_LLD: boolean = u.toLowerCase().indexOf('lld-al00') > -1; // 是否为华为浏览器 export const Oppo: boolean = u.toLowerCase().indexOf('oppo') > -1;// 是否为Oppo浏览器 export const Xiaomi: boolean = u.toLowerCase().indexOf('xiaomi') > -1;// 是否为小米浏览器 export const IosVersion: number = getIosVersion(); // iso当前系统版本 export const AndroidVersion: number = getAndroidVersion(); // 安卓当前系统版本 export const Window: boolean = u.toLowerCase().indexOf('windows; u; windows nt') > -1; function getIosVersion(): number { const iosVersion: any = navigator.appVersion.toLowerCase().match(/iphone os (.*) like mac os/i); if (iosVersion && iosVersion[1]) { const v: number[] = iosVersion[1].split("_"); return v[0]; } return 0; } function getAndroidVersion(): number { const iosVersion: any = navigator.appVersion.toLowerCase().match(/android(.*);/i); if (iosVersion && iosVersion[1]) { const version: any = iosVersion[1].split(";"); const v: number[] = version[0].split("."); return v[0]; } return 0; } ```