需求分析
现在微信火了,很多线上的APP都希望通过分享的URL或直接的URL进行产品宣传(写这篇博文的时候,听说微信下个版本将要屏蔽微信中的URL链接),这些链接都将通过微信内置的浏览器打开。PM希望在微信内置浏览器中展示的页面进行个性化处理,那么前端这边必然要去区别判断是否是微信内置浏览器。
微信内置浏览器的 User Agent
检测浏览器的 User Agent 应该是非常简单的事情,微信在 Android 下的 User Agent
mozilla/5.0(linux;u;android4.1.2;zh-cn;mi-oneplusbuild/jzo54k)applewebkit/534.30(khtml,likegecko)version/4.0mobilesafari/534.30micromessenger/5.0.1.352
mozilla/5.0(iphone;cpuiphoneos5_1_1likemacosx)applewebkit/534.46(khtml,likegecko)mobile/9b206micromessenger/5.0
通过javascript判断
很容易看出来,微信的 User Agent 都有‘micromessenger’字符串标示,我们判断是否含有这些字符串就OK了functionisWeixinBrowser(){
varua=navigator.userAgent.toLowerCase();
return(/micromessenger/.test(ua))?true:false;
}