JavaScript判断是否是微信浏览器


Posted in Javascript onJune 13, 2016

先给大家说下实现原理

根据判断UA中是否有关键字micromessenger,有的话则是微信内置浏览器

实现代码如下所示:

//判断是否微信登陆
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下:

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下:

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如图:

JavaScript判断是否是微信浏览器

用Chrome的iPhone5模拟测试

JavaScript判断是否是微信浏览器 

PS:js判断是否在微信浏览器中打开

用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

function is_weixin(){ 
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) { 
return true; 
} 
return false; 
}
Javascript 相关文章推荐
使用Mootools动态添加Css样式表代码,兼容各浏览器
Dec 12 Javascript
Bootstrap表格和栅格分页实例详解
May 20 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
Jun 12 Javascript
JS转换HTML转义符的方法
Aug 24 Javascript
angularjs点击图片放大实现上传图片预览
Feb 24 Javascript
javaScript手机号码校验工具类PhoneUtils详解
Dec 08 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
Dec 22 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
vue单页缓存存在的问题及解决方案(小结)
Sep 25 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
Aug 11 Javascript
JS实现多功能计算器
Oct 28 Javascript
解决vue $http的get和post请求跨域问题
Jun 07 Vue.js
JavaScript_object基础入门(必看篇)
Jun 13 #Javascript
js 连续赋值的简单实现
Jun 13 #Javascript
全面解析Bootstrap中Carousel轮播的使用方法
Jun 13 #Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 #Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 #Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
Jun 12 #Javascript
JavaScript解八皇后问题的方法总结
Jun 12 #Javascript
You might like
php读取数据库信息的几种方法
2008/05/24 PHP
在PHP中使用模板的方法
2008/05/24 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
详解PHP字符串替换str_replace()函数四种用法
2017/10/13 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
srcElement表格样式
2006/09/03 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
jquery+easeing实现仿flash的载入动画
2015/03/10 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
python创建和删除目录的方法
2015/04/29 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
init进程的作用
2015/08/20 面试题
医药销售求职信范文
2014/02/01 职场文书
离职报告范文
2014/11/04 职场文书
警示教育观后感
2015/06/17 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
学生检讨书范文
2019/06/24 职场文书
python编写函数注意事项总结
2021/03/29 Python
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang