微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript判断是否是微信浏览器

先给大家说下实现原理

根据判断UA中是否有关键字

micromessenger

,有的话则是微信内置浏览器

实现代码如下所示:

rush:js;"> //判断是否微信登陆 function isWeiXin() { var ua = window.navigator.userAgent.toLowerCase(); console.log(ua);//mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml,like gecko)version/9.0 mobile/13b143 safari/601.1 if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; } } if(isWeiXin()){ console.log(" 是来自微信内置浏览器") }else{ console.log("不是来自微信内置浏览器") }

微信浏览器的UA栗子

在iPhone下:

rush:PHP;"> Mozilla/5.0 (iPhone; cpu iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML,like Gecko) Mobile/9B176 MicroMessenger/4.3.2

在Android下:

rush:PHP;"> Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML,like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255

新建模拟器,更换UA如图:

用Chrome的iPhone5模拟测试

用JS来判断了,经过查找资料终于实现了效果,直接上代码

rush:js;"> function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger") { return true; } else { return false; } }

通过测试完全通过,无论是android 还是iphone,ipad 都可以,当然我们除了用js来判断之外,用其它语言来判断就更简单了,比如PHP

rush:PHP;"> function is_weixin(){ if ( strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') !== false ) { return true; } return false; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐