微信内置浏览器和小程序的 User Agent 区别与判断

微信内置浏览器和小程序的 User Agent 区别与判断

根据 User Agent 来分辨不一样的机器设备或是游览器是开发人员较常用的有效途径,而相对于微信平台开发和微信小程序也是一样的状况,我们可以根据机手微信内嵌游览器 UserAgent 信息内容来分辨其实际类型或是机器设备。

根据业界小伙伴的不一样智能手机设备搜集了某些手机微信内嵌游览器的 UserAgent,搜集其关键目地是为了能彻底解决平台网站在微信小程序中点开博客网页页面后若网页页面有加载广告,在 iPhone 设备上会被可以直接阻拦而导致无法打开。因为移动终端网站的网页页面是根据 js 方法添加广告代码,并且 SEO 大学也采用了静态缓存数据,因此 就没法可以直接采用 PHP 的方法来阻止广告代码,因此依然选用 javascript 源代码来做下手机微信 UA 的分辨。

Android 设备的微信 User Agent

Mozilla/5.0 (Linux; Android 7.1.1; MI 6 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN
Mozilla/5.0 (Linux; Android 7.1.1; OD103 Build/NMF26F; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043632 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/4G Language/zh_CN
Mozilla/5.0 (Linux; Android 6.0.1; SM919 Build/MXB48T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043632 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN
Mozilla/5.0 (Linux; Android 5.1.1; vivo X6S A Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043632 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN
Mozilla/5.0 (Linux; Android 5.1; HUAWEI TAG-AL00 Build/HUAWEITAG-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043622 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/4G Language/zh_CN

iPhone 系统的微信 User Agent

Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69 MicroMessenger/6.6.1 NetType/4G Language/zh_CN
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C202 MicroMessenger/6.6.1 NetType/4G Language/zh_CN
Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_1 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B150 MicroMessenger/6.6.1 NetType/WIFI Language/zh_CN
Mozilla/5.0 (iphone x Build/MXB48T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043632 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN

微信内置浏览器与小程序中的 User Agent 对比

// 安卓系统中小程序 User Agent
Mozilla/5.0 (Linux; Android 7.1.1; MI 6 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/4G Language/zh_CN MicroMessenger/6.6.1.1220(0x26060135) NetType/4G Language/zh_CN miniProgram
// 安卓系统中微信内置浏览器 User Agent
Mozilla/5.0 (Linux; Android 7.1.1; MI 6 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/4G Language/zh_CN

之上这两段字符串均为使用安卓系统设备中得到 ,能够 看得出微信小程序的 UA 是和手机微信内嵌游览器 UA 是不一样的,后边会多加一小段,尤其是最终的“miniProgram”字符串,便是微信小程序的的 UA,而在 iPhone 操作系统设备中 UA 全是相同的,微信小程序和内嵌游览器 UA 是没有差别的。

UA 检测和判断方法

//php 版本
if( preg_match( '/MicroMessenger/', $_SERVER['HTTP_USER_AGENT'] ) ) {	echo '你真正使用微信访问';
}
//js 版本
if(/MicroMessenger/i.test(navigator.userAgent)){	alert('你真正使用微信访问');
}
//或者
if(navigator.userAgent.match(/(MicroMessenger)/i)){	alert('你真正使用微信访问');
}

之上得出的二种分辨方式 默认全是直接应用正则表达式的方法分辨是不是为手机微信,也就是无论安卓系统或是 ios 系统,是不是微信小程序,全是根据 UA 中共有的“MicroMessenger”字符串来做为分辨,只要判断为手机微信设备浏览,源代码中//true 就可以改成自个要想运行的源代码。自然以便更精确的分辨还能够自个写正则表达式配对。

例如:

Android.*MicroMessenger.*miniProgram//安卓端的小程序
iPhone.*MicroMessenger//苹果端微信或小程序

总结:我相信通过之上的举例说明和这一些 UA 能够 协助各位在微信平台开发 UA 层面有一点点小的认识,不晓得各位是否有细心的观测到,iPhoneX 设备获得的 UA 和其他版本获得到的 UA 有较多的不一样,而且 iphonex 的均为小写字母。最终依然要感恩朋友们协助,我才可以搜集到这一些 UA,以至于能够梳理成文简易的共享。

本文原创作者:SEO大学,其版权均为SEO大学所有。如需转载,请注明出处:《微信内置浏览器和小程序的 User Agent 区别与判断
74

发表回复