1.比如在src目录下建一个utils文件夹,在utils文件夹下建一个index的ts文件:
// 判断是否在微信中打开
export function isWechat(): boolean {
const ua = navigator.userAgent.toLowerCase();
return /micromessenger/i.test(ua);
}
// 判断是否在微博中打开
export function isWeiBo(): boolean {
const ua = navigator.userAgent.toLowerCase();
return /WeiBo/i.test(ua);
}
// 判断是否在QQ中打开
export function isQQ(): boolean {
const ua = navigator.userAgent.toLowerCase();
return /QQ/i.test(ua);
}
使用:import { isWeiBo } from "@/utils/index";
if(this.isWeiBo ()){
console.log('微博环境下')
}
2.也可以写在mixin里:
/**
* 判断浏览器环境
*/
getBrowserEnvironment(): {
versions: {
trident: boolean;
presto: boolean;
webKit: boolean;
mobile: boolean;
ios: boolean;
android: boolean;
iPhone: boolean;
iPad: boolean;
webApp: boolean;
};
language: boolean;
} {
const u = navigator.userAgent;
const app = navigator.appVersion;
const data = {
versions: {
trident: u.indexOf("Trident") > -1, //IE内核
presto: u.indexOf("Presto") > -1, //opera内核
webKit: u.indexOf("AppleWebKit") > -1, //苹果、谷歌内核
gecko: u.indexOf("Gecko") > -1 && u.indexOf("KHTML") == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf("Android") > -1 || u.indexOf("Linux") > -1, //android终端或uc浏览器
iPhone: u.indexOf("iPhone") > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf("iPad") > -1, //是否iPad
webApp: u.indexOf("Safari") == -1, //是否web应用程序,没有头部与底部
},
language: (navigator.browserLanguage || navigator.language).toLowerCase(),
};
return data;
}
使用了mixin 直接
let browser = this.getBrowserEnvironment();
//是否在IOS浏览器打开
if(browser.versions.ios){
}
......