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 相关文章推荐
清除网页历史记录,屏蔽后退按钮!
Dec 22 Javascript
javascript无刷新评论实现方法
May 13 Javascript
js+canvas简单绘制圆圈的方法
Jan 28 Javascript
JavaScript基础教程——入门必看篇
May 20 Javascript
Node.js Addons翻译(C/C++扩展)
Jun 12 Javascript
纯jQuery实现前端分页功能
Mar 23 jQuery
Angular2学习教程之TemplateRef和ViewContainerRef详解
May 25 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
Aug 23 Javascript
JavaScript实现简单计算器
Mar 19 Javascript
OpenLayers3实现地图显示功能
Sep 25 Javascript
如何使用JS console.log()技巧提高工作效率
Oct 14 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
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迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
loading动画特效小结
2017/01/22 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
ES5新增数组的实现方法
2020/05/12 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
Python计时相关操作详解【time,datetime】
2017/05/26 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
班长岗位职责
2013/11/10 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
干部选拔任用方案
2014/05/26 职场文书
关于幸福的感言
2015/08/03 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android