由于微信扫描之后打开的内嵌浏览器对下载有限制,所以在扫描之后不能直接下载,解决办法两个:
一、将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>
<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‘);