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