首页 > 如何通过ua区分QQ内置浏览器与QQ浏览器

如何通过ua区分QQ内置浏览器与QQ浏览器

通过弹出不同的环境的ua发现

在Android上
QQ内置环境的ua中有关键字 MQQBrowser, 并且后面紧跟一个QQ字符,QQ浏览器则没有,
因此在Android上区分,需要用正则判断ua中包含MQQBrowser并且之后包含QQ,则是QQ内置浏览器,
ua中包含MQQBrowser但是不包含QQ则是QQ浏览器

在ios上
QQ内置浏览器的ua包含一个空格加QQ,但是不包含MQQBrowser
QQ浏览器ua包含MQQBrowser但是不包含单独的QQ

问题中红色部分均为ua字符串中的某一段字符串,现在我的难题是,我不会写正则表达式,我希望的写法如下

isIosQQ = isIos && /xxxxx/.test(ua);
isAndroidQQ = isAndroid && /xxxxx/.test(ua);

求各位帮助,万分感谢!


var androidExp = new RegExp('MQQBrowserQQ');//安卓正则
var iosExp = new RegExp('MQQBrowser QQ');//ios正则
isIosQQ = isIos && iosExp.test(ua);
isAndroidQQ = isAndroid && androidExp.test(ua);

//等同于
/MQQBrowserQQ/.test(ua)

也可以用indexOf()来判断

if(isIos && ua.indexOf('MQQBrowser QQ') > -1){
//是QQ内置浏览器
}
【热门文章】
【热门文章】