JavaScript判断微信浏览器实例代码


Posted in Javascript onJune 13, 2016

先给大家说下我的项目需求:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk。然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了 apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,否则下载不了 apk。那么该如何判断用户是否是用微信浏览器呢?

我们知道 js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36,那么我们也可以通过该方法来获取微信内置浏览器的相关信息:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11d201 MicroMessenger/5.3。根据关键字 MicroMessenger 来判断是否是微信内置的浏览器。判断函数如下:

function isWeiXin(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
return true;
}else{
return false;
}
}

demo:

<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>判断是否是微信内置浏览器</title>
</head>
<body>
<h1>如果用微信浏览器打开可以看到下面的文字</h1>
<p></p>
</body>
</html>
<script type="text/javascript">
window.onload = function(){
if(isWeiXin()){
var p = document.getElementsByTagName('p');
p[0].innerHTML = window.navigator.userAgent;
}
}
function isWeiXin(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
return true;
}else{
return false;
}
}
</script>

说明:可以将上面的 demo 放到服务器上,然后生成个二维码扫一扫。

以上所述是小编给大家介绍的JavaScript判断微信浏览器实例代码的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 操作XML入门
Dec 25 Javascript
eval与window.eval的差别分析
Mar 17 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
Apr 05 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 Javascript
小结Node.js中非阻塞IO和事件循环
Sep 18 Javascript
谈谈JavaScript自定义回调函数
Oct 18 Javascript
jQuery 遍历map()方法详解
Nov 04 Javascript
jQuery元素选择器实例代码
Feb 06 Javascript
Vue组件通信的四种方式汇总
Feb 08 Javascript
JavaScript实现的反序列化json字符串操作示例
Jul 18 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
Aug 23 Javascript
js实现简易拖拽的示例
Oct 26 Javascript
JavaScript判断是否是微信浏览器
Jun 13 #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
You might like
解决中英文字符串长度问题函数
2007/01/16 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
vue实现多级菜单效果
2019/10/19 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
python文件写入实例分析
2015/04/08 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
python实现FTP循环上传文件
2020/03/20 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
高考自主招生自荐信
2013/10/20 职场文书
大二学生学习个人自我评价
2014/01/19 职场文书
中学生演讲稿
2014/04/26 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
校园文明标语
2014/06/13 职场文书
村安全生产责任书
2014/08/25 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
化工厂员工工作总结
2015/10/15 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
PHP遍历数组的6种方式总结
2021/11/17 PHP
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL