为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery 下载适用于 Chrome 而不是资源管理器

jQuery 下载适用于 Chrome 而不是资源管理器

Qyouu 2021-11-25 19:48:44
我正在使用以下代码将文件下载到桌面:    $('#resourceTable tbody').on( 'click', '#getFile', function () {        var data = resourceTable.row( $(this).parents('tr') ).data();        var a = document.createElement('a');        a.href = data.resourseImage        if (data.resourseImageType === "pdf"){            a.download = 'myfile.pdf';        }else{            a.download = 'myfile.jpg';        }        document.body.append(a);        a.click();        a.remove();    });它适用于 Chrome。在资源管理器中,不会发生下载并给出控制台消息:SCRIPT438: Object doesn't support property or method 'append'resourceAdmin.js (559,10)第 559 行是:document.body.append(a);我试过了:$("document.body").append($(a));a.click();$(a).remove();在 Chrome 中工作。在资源管理器中(没有错误)按钮变成蓝色;但是,下载弹出窗口不会出现
查看完整描述

3 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

我现在发现,它适用于 Chrome 和 IE:

http://danml.com/download.html

亲切的问候,


查看完整回答
反对 回复 2021-11-25
?
慕沐林林

TA贡献2016条经验 获得超9个赞

使用element.appendChild(newElement);


或覆盖 jquery 附加


$('#resourceTable tbody').on( 'click', '#getFile', function () {


        var data = resourceTable.row( $(this).parents('tr') ).data();

        var a = document.createElement('a');

        a.href = data.resourseImage


        if (data.resourseImageType === "pdf"){

            a.download = 'myfile.pdf';

        }else{

            a.download = 'myfile.jpg';

        }


        if (navigator.userAgent.search("Edge") > -1) {

            document.body.append = document.body.appendChild;              

        }


        document.body.append(a); // or use appendChild

        a.click();

        a.remove();

    });


查看完整回答
反对 回复 2021-11-25
?
交互式爱情

TA贡献1712条经验 获得超3个赞

IE 不支持以这种方式下载。您应该首先将数据转换为 blob 并使用特定于 IE 的函数。在第559行之前。检查它是否是IE浏览器,然后使用IE支持的其他方法下载,如下所示-


var blob = new Blob([data.resourseImage], {type:  "text/plain;charset=utf-8;"});

if (navigator.msSaveBlob) {

    return navigator.msSaveBlob(blob, fileName);

} else {

    $("document.body").append($(a));

    a.click();

    $(a).remove();

}


查看完整回答
反对 回复 2021-11-25
  • 3 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信