使用JavaScript为锚点设置setAttribute下载属性

8
我想使用Javascript在按钮中创建一个锚点,这样当我点击这个按钮时,它会下载一个我之前设置的指定文件。但是我不知道如何在使用Javascript创建它时添加“下载(download)”属性。
function myFunction() {
    var mydiv = document.getElementById("myDiv");
    var aTag = document.createElement('a');
    aTag.setAttribute('href',"abc.com/example.exe");
    aTag.innerHTML = "<button>GO</button>";
    mydiv.appendChild(aTag);
}

1
aTag.setAttribute('download',"download"); - Scott Marcus
上帝 =)) 非常感谢。 - Yuki Watayu
1个回答

12

download 是一个布尔属性。也就是说,在HTML中,不需要任何值来使用它。仅仅存在该属性就足以使其工作。因此,你可能放置在它上面的任何值都不会影响它是否起作用。

所以,在像这样需要为其赋值的情况下,建议使用属性名作为值。这样你的代码将如下所示:

aTag.setAttribute('download',"download");

其他布尔属性的例子包括:disabledreadonly


谢谢。我觉得这并不像那么简单。 - Yuki Watayu
这会改变下载文件的名称,同时文件扩展名也会丢失。 - undefined
@Amit 使用可选的 filename 属性可以解决这个问题。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接