解决微信不能扫描下载的问题

  因为微信扫描以后打开的内嵌浏览器对下载有限制,因此在扫描以后不能直接下载,解决办法两个:javascript

      1、将app放到腾讯应用宝上,这样将应用宝上的连接生成一个二维码,而后微信扫描以后即可以打开应用宝下载的一个页面进行下载。java

      2、本身另写一个页面,若用若用微信扫描,则进入到这个页面,当用户点击当即下载弹出一个提示信息‘在浏览器中打开’,不然如果使用其余浏览器打开或者qq等进行扫描进入时自动下载app。linux

实现方法以下:android

一、扫描以后进入的页面ios

<div class='download_div'>
    <a id='download_android' class='download_button'></a>
</div>
<div id='point' class='point'>
    <div class='point-info'>
    </div>
</div>

 

二、经过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:app

header('Content-type: application/vnd.android.package-archive');

PC:iphone

header('Content-type: application/octet-stream');
相关文章
相关标签/搜索