zoukankan      html  css  js  c++  java
  • 微信公众号下载文件(避开微信浏览器的文件下载方法)

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

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

    <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;
    }
  • 相关阅读:
    mini2440 UBoot启动过程完全分析
    Linux Shell常用命令学习(1)
    S3C6410启动模式介绍
    漫画与新媒体的传播思考
    注册表修改启动项
    邮件主题是乱码的原因gbk 在utf8 显示问题
    移动 电话费 套餐
    java 异常的问题讨论
    领结的打法
    c# 字符之间的转换
  • 原文地址:https://www.cnblogs.com/pwindy/p/12883168.html
Copyright © 2011-2022 走看看