问题描述
我想编写一个从网页下载一些音频文件的脚本。问题是,通过 element.click() 模拟“点击”效果不佳,因为浏览器只是导航到该锚点元素的 URL。 例如:
<a href="https://www.somesite.com/someAudioFile.mp3"></a>
const link = document.querySelector('a');
link.click();//Navigates to the url...
我需要的是能够收集所有我需要的链接,并简单地触发下载,不出现另存为对话框
有可能吗?如果是这样,如何?
解决方法
你可以为元素添加下载属性,无需 javascript
<a href="https://www.somesite.com/someAudioFile.mp3" download></a>
或使用自定义名称下载
<a href="https://www.somesite.com/someAudioFile.mp3" download="music"></a>
,
link.addEventListener('click',(e) => e.preventDefault());