上周,我们收到了一份要求。需求是这样的:用户扫描二维代码生成链接。链接将请求发送到后端,并返回一个APK下载地址。用户点击下载按钮下载APK。随后而来的问题,经过测试,发现微信扫开网页点击下载按钮下载apk,百度后,原来的微信内置浏览器屏幕后面的下载链接,沟通和需求方面,需求如果用户使用微信内置的浏览器打开,提示用户浏览器打开网页,或者下载APK。那么如何判断用户是否正在使用微信的浏览器

我们知道相关信息,JS可以用window.navigator.useragent访问浏览器,如Mozilla / 5(Windows NT 5.1)applewebkit / 537.36(KHTML像壁虎)铬 / / 33.0.1750.154 Safari 537.36,然后我们可以通过这种方法建立的微信浏览器获取相关信息:Mozilla / 5(iPhone;CPU的iPhone OS 7_1_1像Mac OS X applewebkit / 537.51.2(KHTML)移动 / / 5.3 micromessenger 11D201,像壁虎)。判断是否是微信内置的浏览器基于关键词的micromessenger。判断功能如下:
复制代码代码如下所示:
功能isweixin(){
var ua = window.navigator.useragent.tolowercase();
如果(ua.match( / /我micromessenger)= = 'micromessenger){
返回true;
其他{ }
返回false;
}
}

演示:
复制代码代码如下所示:




判断是否是一个内置的浏览器微信


如果用浏览器打开你的微信,你可以看下面的文字




在window.onload =函数(){
如果(isweixin()){
VaR(P = document.getelementsbytagname 'p');
P { 0 } .innerHTML = window.navigator.useragent;
}
}
功能isweixin(){
var ua = window.navigator.useragent.tolowercase();
如果(ua.match( / /我micromessenger)= = 'micromessenger){
返回true;
其他{ }
返回false;
}
}


描述:您可以在服务器上放置上面的演示程序,然后生成代码扫描的二维扫描。