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 年会抽奖程序
Dec 22 Javascript
node.js中Socket.IO的进阶使用技巧
Nov 04 Javascript
EasyUi datagrid 实现表格分页
Feb 10 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
Oct 28 Javascript
为什么JavaScript没有块级作用域
May 22 Javascript
全面了解构造函数继承关键apply call
Jul 26 Javascript
JS日程管理插件FullCalendar简单实例
Feb 07 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
Jul 13 Javascript
Vue异步组件处理路由组件加载状态的解决方案
Sep 07 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
Mar 07 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
Jul 19 Javascript
JS中队列和双端队列实现及应用详解
Sep 29 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版本号
2006/10/09 PHP
PHP新手上路(十四)
2006/10/09 PHP
PHP如何编写易读的代码
2007/07/10 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
php判断目录存在的简单方法
2019/09/26 PHP
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
js 获取站点应用名的简单实例
2016/08/18 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
JS访问对象两种方式区别解析
2020/08/29 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
财务出纳员岗位职责
2013/11/26 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
高中生职业规划范文
2014/03/09 职场文书
英语求职信范文
2014/05/23 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
研究生简历自我评
2015/03/11 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript