您的位置:首页 > 移动开发

微信扫描打开app下载提示用户打开浏览器进行下载

2018-02-24 14:32 615 查看

1.介绍

       将打包好的apk文件部署到服务器,把下载页面的URL通过草料二维码或根据url代码生成一个二维码,由于微信对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 来判断是否是微信内置的浏览器。       如果是微信中打开,遮罩显示,并提示用户在浏览器中打开进行下载,若是在浏览器中打开,不显示遮罩。

2.实现

<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<script type="text/javascript" src="http://libs.useso.com/js/jquery/1.9.0/jquery.min.js"></script>
<title>点击下载应用</title>
<style type="text/css">
*{margin:0; padding:0;}
a{text-decoration: none;}
img{max-width: 100%; height: auto;}
.weixin-tip{display: none; position: fixed; left:0; top:0; bottom:0; background: rgba(0,0,0,0.8); filter:alpha(opacity=80);  height: 100%; width: 100%; z-index: 100;}
.weixin-tip p{text-align: center; margin-top: 10%; padding:0 5%;}
</style>
</head>
<body>
<div class="weixin-tip">
<p>
<img src="live_weixin.png" alt="微信打开"/>
</p>
</div>
<script type="text/javascript">
$(window).on("load",function(){
var winHeight = $(window).height();
function is_weixin() {
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
return true;
} else {
return false;
}
}
var isWeixin = is_weixin();
if(isWeixin){
$(".weixin-tip").css("height",winHeight);
$(".weixin-tip").show();
}
})
</script>
</body>
</html>


使用微信打开网址时,无法在微信内打开常用下载软件,手机APP等。网上流传的各种微信打开下载链接,微信已更新基本失效,最新的一个是使用链接跳转方式:http://mp.weixin.qq.com/mp/redirect?url=http://caibaojian.com/test.apk#weixin.qq.com#wechat_redirect。将链接文本中的http://caibaojian.com/test.apk换成你的下载链接地址。本人已经测试可行。欢迎打开微信扫码测试。
另加一个判断手机QQ的UAfunction is_mobileQQ() {
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/sQQ/i) == " qq" && /iphone/i.test(ua) == false) {
return true;
} else {
return false;
}
}
转载来源:http://blog.csdn.net/lyb8010/article/details/52593715
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微信 下载 浏览器