【发布时间】:2019-10-19 04:59:32
【问题描述】:
我正在使用以下代码将文件下载到桌面:
$('#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 中工作。在资源管理器(无错误)中,按钮变为蓝色;但是,下载弹出窗口没有出现。
【问题讨论】:
-
document.body.append(a);在 IE 中不受支持,为此使用 polyfill 或使用 jQuery 中的任何类似方法,因为您已经在使用 jQuery,jQuery append -
感谢 Code Manic。我试过 "$("document.body").append($(a));"这适用于 Chrome;但是,然后我在资源管理器中遇到了类似的错误“a.remove();”所以我将其替换为“$(a).remove();”。这适用于 Chrome;但是,在资源管理器中,没有错误,按钮变为蓝色;但是,不会显示下载弹出窗口。
标签: javascript jquery html