由于微信扫描之后打开的内嵌浏览器对下载有限制,所以在扫描之后不能直接下载,解决办法两个:
一、将app放到腾讯应用宝上,这样将应用宝上的链接生成一个二维码,然后微信扫描之后便可以打开应用宝下载的一个页面进行下载。
二、自己另写一个页面,若用若用微信扫描,则进入到这个页面,当用户点击立即下载弹出一个提示信息‘在浏览器中打开’,否则若是使用其他浏览器打开或者qq等进行扫描进入时自动下载app。
实现方法如下:
1、扫描之后进入的页面
<div class=\'download_div\'> <a id=\'download_android\' class=\'download_button\'></a> </div> <div id=\'point\' class=\'point\'> <div class=\'point-info\'> </div> </div>
2、通过js判断使用的是哪个系统,然后链接去下载不同版本
<script type="text/javascript"> $(function(){ var version = checkVersion(); if(!version.weixin){ var url = createLink(\'index\', \'download\', \'os=android\'); location.href = url; } $(\'#download_android\').on(\'click\', function(event) { document.getElementById(\'point\').style.display = \'block\'; event.preventDefault(); }); $(\'#point\').on(\'click\', function(event) { event.preventDefault(); document.getElementById(\'point\').style.display = \'none\'; }); }); function checkVersion(){ var ua = window.navigator.userAgent.toLowerCase(); var version = { "ios" : ua.indexOf("iphone") > -1, "android" : ua.indexOf("android") > -1 || ua.indexOf("linux") > -1, "safari" : ua.indexOf("iphone") > -1, "weixin" : (ua.match(/MicroMessenger/i) == \'micromessenger\') }; return version; } </script>
注意:Android下载的头信息和PC不同:
Android:
header(\'Content-type: application/vnd.android.package-archive\');
PC:
header(\'Content-type: application/octet-stream\');