/*** 判断当前的环境是否在 微信环境下* */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")));