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实际应用:innerHTMl和确认提示的使用
Jun 22 Javascript
jQuery 操作下拉列表框实现代码
Feb 22 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
Mar 17 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
js生成随机数之random函数随机示例
Dec 20 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
Aug 16 Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
Jan 21 Javascript
浅谈JS原生Ajax,GET和POST
Jun 08 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
Feb 20 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
Jul 31 Javascript
JS实现超级好看的鼠标小尾巴特效
Dec 01 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下10件你也许并不了解的事情
2008/09/11 PHP
php文件上传类完整实例
2016/05/14 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
asp.net和php的区别点总结
2019/10/10 PHP
jQuery中contents()方法用法实例
2015/01/08 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
python中字符串前面加r的作用
2015/06/04 Python
Python中的id()函数指的什么
2017/10/17 Python
python 列表降维的实例讲解
2018/06/28 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
思想政治自我鉴定
2013/10/06 职场文书
单位门卫岗位职责
2013/12/20 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
2015年导购员工作总结
2015/04/25 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript