JavaScript判断微信浏览器实例代码
先给大家说下我的项目需求:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个apk的下载地址,用户点击下载按钮可以下载此apk。然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,否则下载不了apk。那么该如何判断用户是否是用微信浏览器呢?
我们知道js可以通过window.navigator.userAgent来获取浏览器的相关信息,比如:Mozilla/5.0(WindowsNT5.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/33.0.1750.154Safari/537.36,那么我们也可以通过该方法来获取微信内置浏览器的相关信息:Mozilla/5.0(iPhone;CPUiPhoneOS7_1_1likeMacOSX)AppleWebKit/537.51.2(KHTML,likeGecko)Mobile/11d201MicroMessenger/5.3。根据关键字MicroMessenger来判断是否是微信内置的浏览器。判断函数如下:
functionisWeiXin(){
varua=window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=='micromessenger'){
returntrue;
}else{
returnfalse;
}
}
demo:
<!DOCTYPEHTML>
<htmllang="en">
<head>
<metacharset="utf-8"/>
<title>判断是否是微信内置浏览器</title>
</head>
<body>
<h1>如果用微信浏览器打开可以看到下面的文字</h1>
<p></p>
</body>
</html>
<scripttype="text/javascript">
window.onload=function(){
if(isWeiXin()){
varp=document.getElementsByTagName('p');
p[0].innerHTML=window.navigator.userAgent;
}
}
functionisWeiXin(){
varua=window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=='micromessenger'){
returntrue;
}else{
returnfalse;
}
}
</script>
说明:可以将上面的demo放到服务器上,然后生成个二维码扫一扫。
以上所述是小编给大家介绍的JavaScript判断微信浏览器实例代码的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!