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-ui中自动完成实现方法
Jun 10 Javascript
js 幻灯片的实现
Dec 06 Javascript
父节点获取子节点的字符串示例代码
Feb 26 Javascript
JavaScript作用域链示例分享
May 27 Javascript
JavaScript中遍历对象的property的3种方法介绍
Dec 30 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
May 12 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
Dec 25 Javascript
JSON创建键值对(key是中文或者数字)方式详解
Aug 24 Javascript
Angular移动端页面input无法输入的解决方法
Nov 14 Javascript
JS实现的ajax和同源策略(实例讲解)
Dec 01 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
Dec 24 Javascript
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
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中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
PHP5.3新特性小结
2016/02/14 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
python中requests模块的使用方法
2015/04/08 Python
python实现按行切分文本文件的方法
2016/04/18 Python
深入了解python列表(LIST)
2020/06/08 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
PHP面试题及答案二
2015/05/23 面试题
一道写SQL的面试题和答案
2013/11/19 面试题
初三毕业评语
2014/12/26 职场文书
保研导师推荐信
2015/03/25 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
JVM钩子函数的使用场景详解
2021/08/23 Java/Android