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 1.2教程 Fx.Morph、Fx选项和Fx事件
Sep 15 Javascript
picChange 图片切换特效的函数代码
May 06 Javascript
editable.js 基于jquery的表格的编辑插件
Oct 24 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
Mar 04 Javascript
原生的html元素选择器类似jquery选择器
Oct 15 Javascript
Position属性之relative用法
Dec 14 Javascript
javascript显示倒计时控制按钮的简单实现
Jun 07 Javascript
详解vue-router基本使用
Apr 18 Javascript
移动前端图片压缩上传的实例
Dec 06 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
Aug 14 Javascript
vue源码nextTick使用及原理解析
Aug 13 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
Aug 28 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
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
php 操作符与控制结构
2012/03/07 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
php实现加减法验证码代码
2014/02/14 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
2018/12/21 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
js简单抽奖代码
2015/01/16 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
Python微信操控itchat的方法
2019/05/31 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
购买中国最好的电子产品:Geekbuying
2018/03/13 全球购物
军训学生自我鉴定
2014/02/12 职场文书
怀念母亲教学反思
2014/04/28 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript