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 相关文章推荐
js跟随滚动条滚动浮动代码
Dec 31 Javascript
javascript闭包的理解和实例
Aug 12 Javascript
jquery键盘事件使用介绍
Nov 01 Javascript
JS关键字变色实现思路及代码
Feb 21 Javascript
JavaScript通过prototype给对象定义属性用法实例
Mar 23 Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 Javascript
JS实现点击按钮获取页面高度的方法
Nov 02 Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
详解Vue This$Store总结
Dec 17 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
Mar 13 Javascript
js实现小时钟效果
Mar 25 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
Aug 08 Javascript
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
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
php类中private属性继承问题分析
2012/11/01 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
JS一个简单的注册页面实例
2017/09/05 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
jquery自定义组件实例详解
2020/12/31 jQuery
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
2019/08/31 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
阿巴庭院:Abba Patio
2019/06/18 全球购物
弄虚作假心得体会
2014/09/10 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书
JS数组方法some、every和find的使用详情
2021/10/05 Javascript