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 相关文章推荐
IE/FireFox具备兼容性的拖动代码
Aug 13 Javascript
js prototype截取字符串函数
Apr 01 Javascript
JQuery autocomplete 使用手册
Apr 01 Javascript
javascript学习(二)javascript常见问题总结
Jan 02 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
浅谈jQuery构造函数分析
May 11 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
Dec 24 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
Oct 25 Javascript
Vue中render函数的使用方法
Jan 31 Javascript
利用angular自动编译andriod APK的绕坑经历分享
Mar 08 Javascript
详解Vue之父子组件传值
Apr 01 Javascript
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
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 算法之实现相对路径的实例
2017/10/17 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
jquery简单体验
2007/01/10 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
vue实现文字加密功能
2019/09/27 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
python实现SOM算法
2018/02/23 Python
基于python历史天气采集的分析
2019/02/14 Python
python中的协程深入理解
2019/06/10 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
挂职思想汇报
2013/12/31 职场文书
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
法律讲堂观后感
2015/06/11 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
Python find()、rfind()方法及作用
2022/12/24 Python