原理
通过不同移动端的ua弹窗 获取user-agent 参数包含的信息,进行判断浏览器类型
在Android上
QQ内置环境的ua中有关键字 MQQBrowser, 并且后面包含一个【空白符+QQ】字符;QQ浏览器仅有【MQQBrowser】因此在Android上区分,需要用正则判断ua中包含MQQBrowser,并且剔除【MQQBrowser】之后包含【空白符+QQ】,则是QQ内置浏览器,QQ浏览器:ua中包含MQQBrowser但是不包含QQ
在ios上
QQ内置浏览器: ua包含一个空格加QQ,但是不包含MQQBrowserQQ浏览器: ua包含MQQBrowser但是不包含单独的QQ兼容所有ios 安卓设备的判断
//微信浏览器window.$fromWechat = navigator.userAgent.toLocaleLowerCase().indexOf("micromessenger") > -1;//QQ浏览器 (MQQBrowser用于判断 安卓设备;QQTheme用于判断 ios设备)window.$fromQQ =navigator.userAgent.indexOf("MQQBrowser") > -1 || navigator.userAgent.indexOf("QQTheme") > -1;
文章源自:
/post/7041872548715298824
JS如何区分微信浏览器 QQ浏览器和QQ内置浏览器 解决 ios 无法判断是否为qq浏览器环境的问题。