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 相关文章推荐
document.onreadystatechange事件的用法分析
Oct 17 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
Oct 20 Javascript
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
Mar 18 Javascript
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
js动态修改表格行colspan列跨度的方法
Mar 30 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
js原生实现FastClick事件的实例
Nov 20 Javascript
javascript中Number的方法小结
Nov 21 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
使用Vue实现一个树组件的示例
Nov 06 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
PHP新手入门学习方法
2011/05/08 PHP
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
简单JS代码压缩器
2006/10/12 Javascript
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
django2 快速安装指南分享
2018/01/05 Python
python 定时修改数据库的示例代码
2018/04/08 Python
django 修改server端口号的方法
2018/05/14 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
python logging.info在终端没输出的解决
2020/05/12 Python
python算的上脚本语言吗
2020/06/22 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
家居装修公司创业计划书范文
2014/03/20 职场文书
新年爱情寄语
2014/04/08 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
2014年国庆节演讲稿
2014/09/19 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
2015年清明节活动总结
2015/02/09 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python
Python借助with语句实现代码段只执行有限次
2022/03/23 Python
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android