这是代码:
var link = document.createElement("a");
link.download = name;
link.href = uri;
link.click();
由于某种原因,IE中未调用下载。它适用于Firefox,Chrome和Opera,但不适用于IE。我使用的是IE 11的最新版本。
我尝试在链接上设置一个单击事件处理程序,它会提醒某些内容,以便我可以看到该链接是否被点击,但什么也没发生。
有什么想法吗?
答案 0 :(得分:0)
我现在无法测试IE11,但请尝试:
(function() {
var a = document.createElement('a');
a.setAttribute("href", uri);
var dispatch = document.createEvent("HTMLEvents");
dispatch.initEvent("click", true, true);
a.dispatchEvent(dispatch);
}());
答案 1 :(得分:0)
经过一些研究,似乎link.click()在IE中不起作用,因为IE不知道它应该触发哪个元素点击事件(即使它有直接引用它)。它可以在其他浏览器中使用,因为它们可以准确地“猜测”在哪里触发它。
我设法通过向DOM添加一个链接元素来解决问题,然后通过查询选择器引用它,最后在其上调用click()方法。