微信掃描打開app下載提示用戶打開瀏覽器進行下載

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的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.net/lyb8010/article/details/52593715

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章