如何在不让浏览器导航到新页面的情况下使用 JS 触发音频 link 下载?

How to trigger a download of an audio link using JS, without having the browser navigate to a new page?

我想编写一个从网页下载一些音频文件的脚本。问题是,通过 element.click() 模拟“点击”效果不佳,因为浏览器只是导航到该锚元素的 URL。 例如:

<a href="https://www.somesite.com/someAudioFile.mp3"></a>

const link = document.querySelector('a');

link.click();//Navigates to the url...

我需要的是能够收集所有我需要的链接,然后简单地触发下载,没有出现另存为对话框

可能吗?如果可以,怎么做?

link.addEventListener('click', (e) => e.preventDefault());

你可以给元素添加下载属性,没有javascript

<a href="https://www.somesite.com/someAudioFile.mp3" download></a>

或使用自定义名称下载

<a href="https://www.somesite.com/someAudioFile.mp3" download="music"></a>