js如何判断用户是否是用微信浏览器
来源:互联网 发布:秋天 连衣裙 搭配 知乎 编辑:程序博客网 时间:2024/05/21 11:22
需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 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 放到服务器上,然后生成个二维码扫一扫。
From: http://www.jb51.net/article/50708.htm
0 0
- js如何判断用户是否是用微信浏览器
- js如何判断用户是否是用微信浏览器
- js如何判断用户是否是用微信浏览器
- 如何判断用户是否关闭浏览器
- 如何在JS判断是否为IE浏览器
- js判断浏览器是否关闭
- js判断是否是微信浏览器
- js判断是否IE浏览器
- js判断浏览器是否为移动浏览器
- js判断浏览器是否是谷歌浏览器
- js判断浏览器是否搜狗浏览器
- js如何判断浏览器类型
- JS判断浏览器是否是关闭
- js判断多标签浏览器是否关闭
- JS判断浏览器是否是关闭
- JS判断浏览器是否为IE6
- js 判断浏览器是否安装Flash
- js 判断浏览器是否是IE
- 温故-C++ PRIMER 2014-11-23
- 如何把引用的jar包和本项目一起导出成jar文件
- sqlite中文排序相关
- Oracle之Check约束实例详解
- 将一个数组的非零元素移动到数组的前面,零元素置于数组的后面
- js如何判断用户是否是用微信浏览器
- yii 构建search 数据源data
- 捉虫经历
- php 时间戳
- jsp 乱码
- 栈和队列的基本操作实现
- 如何发表高水平论文(转载)
- 【网络流】 POJ 3422 Kaka's Matrix Travels
- 第十一周项目6 判断回文数