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操作页面表格,元素的一些技巧
Feb 02 Javascript
基于Jquery的实现回车键Enter切换焦点
Sep 14 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
Oct 16 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
Jun 14 Javascript
JS 实现导航栏悬停效果(续2)
Sep 24 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
Dec 05 Javascript
一道关于JavaScript变量作用域的面试题
Mar 08 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
Jun 12 Javascript
学习vue.js中class与style绑定
Dec 03 Javascript
在Vue中使用echarts的方法
Feb 05 Javascript
Vue引入sass并配置全局变量的方法
Jun 27 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
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
JS抛物线动画实例制作
2018/02/24 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
Pycharm 设置默认头的图文教程
2019/01/17 Python
python3去掉string中的标点符号方法
2019/01/22 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
中学生爱国演讲稿
2013/12/31 职场文书
给物业的表扬信
2014/01/21 职场文书
企业内部培训方案
2014/02/04 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书
小学安全工作总结2015
2015/05/18 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
vue实现拖拽交换位置
2022/04/07 Vue.js
vue的项目如何打包上线
2022/04/13 Vue.js
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS