document.getElementById('a').click()没有't在IE工作

document.getElementById('a').click() doesn't works in IE

本文关键字:工作 IE getElementById document click 没有      更新时间:2023-09-26

我有一个代码在Chrome和Firefox中工作,但在IE中不工作。它通过链接下载存储在mysql数据库中的文件作为blob记录。

有人能提出一个同样适用于IE的解决方案吗?

代码:

function download(filename, data) {

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

var blob = b64toBlob(data, "application/octet-stream");
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
document.getElementById('a').click();
window.URL.revokeObjectURL(url);
}

在IE 8和9中,数据URI只能用于图像,但不能用于导航或JavaScript生成的文件下载:

功能下载(文件名,数据){

var a = document.createElement("a");
var blob = b64toBlob(data, "application/octet-stream");
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
navigator.msSaveBlob(blob, filename);
//document.getElementById('a').onclick();
window.URL.revokeObjectURL(url);

}