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 相关文章推荐
JAVASCRIPT对象及属性
Feb 13 Javascript
Javascript String.replace的妙用
Sep 08 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
Jul 20 Javascript
JS动态获取当前时间,并写到特定的区域
May 03 Javascript
解析window.open的使用方法总结
Jun 19 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
layer实现关闭弹出层刷新父界面功能详解
Nov 15 Javascript
Vue 莹石摄像头直播视频实例代码
Aug 31 Javascript
JavaScript实现表单注册、表单验证、运算符功能
Oct 15 Javascript
mui js控制开关状态、修改switch开关的值方法
Sep 03 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
Sep 25 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中Date获取时间不正确怎么办
2008/06/05 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
PHP.vs.JAVA
2016/04/29 PHP
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
Python的标准模块包json详解
2017/03/13 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
python如何从文件读取数据及解析
2019/09/19 Python
python实现简单井字棋游戏
2020/03/04 Python
python实现按日期归档文件
2021/01/30 Python
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
Unix如何添加新的用户
2014/08/20 面试题
自我评价是什么
2014/01/04 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
小学校本教研总结
2015/08/13 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
Java基础之this关键字的使用
2021/06/30 Java/Android
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers