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 相关文章推荐
js 函数调用模式小结
Dec 26 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
Jul 09 Javascript
jquery操作HTML5 的data-*的用法实例分享
Aug 17 Javascript
JS 使用for循环遍历子节点查找元素
Sep 06 Javascript
Jquery代码实现图片轮播效果(一)
Aug 12 Javascript
实践中学习AngularJS表单
Mar 21 Javascript
常用的JQuery函数及功能小结
Mar 24 Javascript
Javascript中call,apply,bind方法的详解与总结
Dec 12 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
BootStrap daterangepicker 双日历控件
Jun 02 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 Javascript
Layui 解决表格异步调用后台分页的问题
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
php MySQL与分页效率
2008/06/04 PHP
php 一元分词算法
2009/11/30 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
javascript完美拖拽的实现方法
2013/09/29 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
JS实现图片无间断滚动代码汇总
2014/07/30 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
2019/02/27 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
Django中的静态文件管理过程解析
2019/08/01 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
django rest framework serializers序列化实例
2020/05/13 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
12月小学生校园广播稿
2014/02/04 职场文书
服装设计专业自荐信
2014/06/17 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
应收账款管理制度
2015/08/06 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL