当用户点击某个按钮时,我有一个来自后端的url。该网址包含一个文件。当点击url时,该文件应该被下载。我试着做的是通过动态生成锚标记并以编程方式使用MouseEvent单击它。这是我写的代码如下:如何在javascript中点击动态生成的URL?
const link = document.createElement('a'),
event = new MouseEvent('click');
link.href = data;
link.dispatchEvent(event);
但这重定向我的网址,而不是下载它。令人惊讶的是,前几天,这段代码工作正常。什么是最好的方式来做到这一点。
- 这应该是独立于浏览器
- 我不能使用jQuery的,我写这篇文章的反应,并希望把它写在JavaScript。
[编辑]: ,如果这个问题是重复或错误地问,请评论。我找不到这个具体问题,大部分答案都使用jquery。
link.download = TRUE;你也可以在这个文件中添加一个serverside头文件来强制它的下载...... –
因为你提到这个代码以前是有效的,它可能会改变的一件事就是来自服务器的响应。没有返回文件作为附件 – derloopkat
@derloopkat,早些时候浏览器允许我从新标签打开文件(或下载),如果我粘贴到我的浏览器选项卡上,但现在它不允许我打开,可能是文件是受保护的或者是某种东西,但是我在某处看到我们可以下载这些文件 –