• 微信公众号下载文件(避开微信浏览器的文件下载方法)


    微信浏览器是屏蔽资源文件下载的,但是微信公众号内如何下载文件呢。只能借助于在其他浏览器打开,也就是跳到其他浏览器进行下载(如图)。

    具体的逻辑很简单,就是在需要下载的位置比如:是一个单击事件

    <span   onclick="docDownload(filepath)">作业</span>
    //filepath为文件的下载访问路径   http://dem***o.com/file/2018-12/11/dfd223dfaf.doc
    function  docDownload(filepath){
        window.top.location.href="/home/download.html?fileurl="+filepath;
    }

    这个页面(/home/download.html)是个引导下载页(如下效果)

    在这个页面里添加js代码如下:

    //从浏览器url地址中获取参数对应的值
    function GetRequest() {
        var url = location.search;//获取url中"?"符后的字符串
        var theRequest = new Object();
        if (url.indexOf("?")!=-1){  //存在? 则
            var str = url.substr(1);
            strs = str.split("&");  //字符串分割
            for(var i=0;i<strs.length;i++){
                theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
            }
        }
        return theRequest;
    }
    //判断是否是微信浏览器
    function is_weixin() {
        var ua = window.navigator.userAgent.toLowerCase(); 
        if (ua.match(/MicroMessenger/i) == 'micromessenger') { 
            console.log('微信浏览器');
            return true;
        } else { 
            console.log("不是微信浏览器"); 
            return false;
        } 
    }
    
    var is_weixin=is_weixin();
    if(is_weixin){
            //是微信浏览器  显示返回按钮   (用户可以选择下载或者返回)
            $('#back_btn').show();
        }else{
            //不是微信浏览器
            //执行下载
            window.location.href=GetRequest().fileurl;
    }
  • 相关阅读:
    C++命名法则
    腾讯附加题---递归
    决策树
    ubuntu16.04安装后干的事
    node
    iview datetime日期时间限制
    GitLab CI/CD
    本地项目上传到github
    npm--配置私服
    gitlab添加yml文件.gitlab-ci.yml
  • 原文地址:https://www.cnblogs.com/pwindy/p/12883168.html
Copyright © 2020-2023  润新知