admin 管理员组

文章数量: 887006

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/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/mp/redirect?url=http://caibaojian/test.apk#weixin.qq#wechat_redirect。

将链接文本中的http://caibaojian/test.apk换成你的下载链接地址。本人已经测试可行。欢迎打开微信扫码测试。

另加一个判断手机QQ的UA

function 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/lyb8010/article/details/52593715

本文标签: 进行下载 提示 打开浏览器 用户 App