微信扫二维码后总是不能直接下载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块钱
效果图