JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器,解决 ios 无法判断是否为qq浏览器环境的问题。

原理

通过不同移动端的ua弹窗 获取user-agent 参数包含的信息,进行判断浏览器类型

在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

兼容所有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;

文章源自:
https://juejin.cn/post/7041872548715298824

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值