/**
* 判断当前的环境是否在 微信环境下
* */
isWeiXin: () => {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
return true;
} else {
return false;
}
},
/**
* 判断当前是否为ios
* */
isIos: () => {
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
return true;
} else {
return false;
}
},
/**
* 判断当前是否为Android
* */
isAndroid: () => {
if (/(Android)/i.test(navigator.userAgent)) {
return true;
} else {
return false;
}
},
在Android上
QQ内置环境的ua中有关键字 MQQBrowser, 并且后面包含一个【空白符+QQ】字符; QQ浏览器仅有【MQQBrowser】
因此在Android上区分,需要用正则判断ua中包含MQQBrowser,并且剔除【MQQBrowser】之后包含【空白符+QQ】,则是QQ内置浏览器,
QQ浏览器:ua中包含MQQBrowser但是不包含QQ
在ios上
QQ内置浏览器: ua包含一个空格加QQ,但是不包含MQQBrowser
QQ浏览器: ua包含MQQBrowser但是不包含单独的QQ
let ua = window.navigator.userAgent.toLowerCase()
// 判断是否是qq内置浏览器
const isIosQQ = (isIos() && / QQ/i.test(ua));
const isAndroidQQ = (isAndroid() && /MQQBrowser/i.test(ua) && / QQ/i.test((ua).split("MQQBrowser")));