通过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;
}
```