微信掃二維碼后總是不能直接下載apk,只好做個頁面提示用戶如何下載,代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>按提示下載應用</title> </head> <body> <style type="text/css"> *{margin:0; padding:0;} img{max-width: 100%; height: auto;} .test{height: 600px; max-width: 600px; font-size: 40px;} </style> <div class="test"> <a href="">點擊下載apk</a> </div> <script type="text/javascript" src="/resources/js/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="/camera/js/url.js"></script> <script type="text/javascript"> function is_weixin() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger") { return true; } else { return false; } } var isWeixin = is_weixin(); var Request = new QueryString(); var v = Request["v"]; $(".test a").attr({"href": v}); var winHeight = typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight; var weixinTip = $('<div id="weixinTip"><p><img src="step.png" style="width: 100%;" alt="微信打開"/></p></div>'); if (isWeixin) { $("body").append(weixinTip); } else { window.location.href = v; } $("#weixinTip").css({ "position":"fixed", "left":"0", "top":"0", "height":winHeight, "width":"100%", "z-index":"1000", "background-color":"rgba(0,0,0,0.8)", "filter":"alpha(opacity=80)", }); $("#weixinTip p").css({ "text-align":"center", "margin-top":"10%", "padding-left":"5%", "padding-right":"5%" }); </script> </body> </html>
js獲取鏈接后面帶的 v 參數,這個 v 參數就是apk的下載鏈接(下面的IP隨便寫的,就不要試着去訪問了):
http://31.91.81.51/apk/page.html?v=http://31.91.81.51/lemon/apk/IoTStandardHt 2.1.1.8.apk
按說應該把html頁面改成xhtml頁面,頁面代碼去后台獲取apk的路徑,不過頁面后面直接攜帶參數就省得麻煩了,后台輸出二維碼的時候一次性輸出,掃碼一次性獲取
還有一個問題就是域名,這個直接IP的鏈接掃碼后微信還是會提示直接跳轉,有時候還要點兩次才能跳轉到這個頁面(我也不曉得為什么)。出現這個問題的原因是微信對IP也有限制,需要使用域名才能直接訪問頁面(微信限制真多,不過客戶都喜歡用微信掃碼)。
沒有域名的話,去買一個域名就可以了,昨天買了一個,蠻便宜的,一年9塊錢
效果圖