如何在javascript中点击动态生成的URL?

时间:2017-06-15 12:16:59

标签: javascript mouseevent

当用户点击某个按钮时,我有一个来自后端的网址。此网址包含一个文件。单击该URL时,应该下载该文件。我试过通过动态生成锚标记并使用MouseEvent以编程方式单击它来实现。我写的代码如下:

const link = document.createElement('a'),
      event = new MouseEvent('click');

link.href = data;
link.dispatchEvent(event);

但是这会将我重定向到网址而不是下载它。令人惊讶的是,几天前,这段代码运行良好。什么是最好的方法。

  1. 哪个应该是浏览器独立的
  2. 我不能使用jquery,我正在写这个反应并希望用javascript编写。
  3. [编辑] : 如果这个问题重复或错误询问,请发表评论。我找不到这个具体问题,大多数答案都使用了jquery。

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码

var url = data; 
var element = document.createElement('a');
element.href = url;
element.setAttribute('download', name);
element.setAttribute('target', '_blank');
document.body.appendChild(element); //Append the element to work in firefox
element.click();