有时需要判断网页是否是用普通浏览器打开还是在微信中打开,例如开发支付的时候,如果是微信公众号打开,可以选择微信支付。或者使用微信的SDK做一些用户信息方面的判断。
用微信打开的网页,会请求类似这样的User-Agent:
Mozilla/5.0 (Linux; Android 12; SM-G9730 Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/3185 MMWEBSDK/20220105 Mobile Safari/537.36 MMWEBID/5802 MicroMessenger/8.0.19.2080(0x2800133B) Process/toolsmp WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64
其中有MicroMessenger字样,用其他浏览器是没有的,所以可以根据这个来判断是否从微信中打开,Javascript代码如下:
# 判断是否是从微信中打开 var isWeixin = navigator.userAgent.indexOf("MicroMessenger") > 0
文章评论