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 相关文章推荐
jquery插件开发方法(初学者)
Feb 03 Javascript
GRID拖拽行的实例代码
Jul 18 Javascript
js获取IP和PcName(IE)在vs中可用
Aug 02 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 Javascript
基于Css3和JQuery实现打字机效果
Aug 11 Javascript
javascript设置文本框光标的方法实例小结
Nov 04 Javascript
js实现登录验证码
Dec 22 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
微信小程序使用Socket的实例
Sep 19 Javascript
JS打印彩色菱形的实例代码
Aug 15 Javascript
JS实现网页时钟特效
Mar 25 Javascript
Vue深入理解插槽slot的使用
Aug 05 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+Ajax验证码验证用户登录
2016/07/20 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
Javascript Global对象
2009/08/13 Javascript
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python中datetime常用时间处理方法
2015/06/15 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
Sony C++笔试题
2013/03/10 面试题
印刷工程专业应届生求职信
2013/09/29 职场文书
初中同学聚会邀请函
2014/02/03 职场文书
关于保护环境的标语
2014/06/09 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
安全教育观后感
2015/06/17 职场文书
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS