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

发布于 2022-09-03 11:44:11 字数 596 浏览 16 评论 0

通过弹出不同的环境的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);

求各位帮助,万分感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

十六岁半 2022-09-10 11:44:11
const isIosQQ = (isIos && / QQ/i.test(navigator.userAgent));
const isAndroidQQ = (isAndroid && /MQQBrowser/i.test(navigator.userAgent) && /QQ/i.test((navigator.userAgent).split('MQQBrowser')));
箹锭⒈辈孓 2022-09-10 11:44:11
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内置浏览器
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文