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 相关文章推荐
jQuery实现的立体文字渐变效果
May 17 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
Dec 30 Javascript
js获取光标位置和设置文本框光标位置示例代码
Jan 09 Javascript
js实现局部页面打印预览原理及示例代码
Jul 03 Javascript
JavaScript中的无阻塞加载性能优化方案
Oct 10 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
Dec 14 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
Mar 11 Javascript
jQuery AJAX timeout 超时问题详解
Jun 21 Javascript
jQuery事件详解
Feb 23 Javascript
React学习之事件绑定的几种方法对比
Sep 24 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
Jun 01 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
php curl 伪造IP来源的实例代码
2012/11/01 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
javascript,jquery闭包概念分析
2010/06/19 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
2015/09/01 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
python简单实现基数排序算法
2015/05/16 Python
django 常用orm操作详解
2017/09/13 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
浅析python的优势和不足之处
2018/11/20 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
selenium自动化测试入门实战
2020/12/21 Python
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
个人简历自我评价范文
2014/02/04 职场文书
高效课堂标语
2014/06/26 职场文书
组工干部演讲稿
2014/09/02 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL