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判断微信浏览器实例代码的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!