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 21 Javascript
Javascript学习笔记1 数据类型
Jan 11 Javascript
json的前台操作和后台操作实现代码
Jan 20 Javascript
深入分析原生JavaScript事件
Dec 29 Javascript
实例讲解避免javascript冲突的方法
Jan 03 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
Sep 27 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
Jan 08 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
Sep 20 Javascript
react-router v4如何使用history控制路由跳转详解
Jan 09 Javascript
JavaScript使用小插件实现倒计时的方法讲解
Mar 11 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
Jul 25 Javascript
微信小程序和H5页面间相互跳转代码实例
Sep 19 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
我的论坛源代码(五)
2006/10/09 PHP
PHP 程序授权验证开发思路
2009/07/09 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
ECMAScript 基础知识
2007/06/29 Javascript
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
JavaScript 题型问答有答案参考
2010/02/17 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
Python线程指南分享
2019/11/19 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
小学国庆节活动方案
2014/02/11 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
倡议书的写法
2014/08/30 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
SpringBoot整合RabbitMQ的5种模式实战
2021/08/02 Java/Android
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript
JavaScript中reduce()的用法
2022/05/11 Javascript