手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js如何判断用户是否是用微信浏览器
js如何判断用户是否是用微信浏览器
摘要:上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个apk的下载地址,用户点击下载按钮可以下载此...

上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 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 放到服务器上,然后生成个二维码扫一扫。

【js如何判断用户是否是用微信浏览器】相关文章:

nodejs怎么简单实现中英文翻译

js判断鼠标位置是否在某个div中的方法

微信内置浏览器私有接口WeixinJSBridge介绍

javascript实现淡蓝色的鼠标拖动选择框实例

js去除浏览器默认底图的方法

jQuery判断一个元素是否可见的方法

利用js实现禁止复制文本信息

js光标定位文本框回车表单提交问题的解决方法

判断file框选择的是否为图片

JavaScript判断图片是否已经加载完毕的方法汇总

精品推荐
分类导航