javascript - 制作 Chrome 扩展程序下载文件

标签 javascript html google-chrome google-chrome-extension

我正在创建一个扩展程序,可以从网站上下载 mp3 文件。我试图通过创建一个带有 mp3 文件链接的新选项卡来做到这一点,但 chrome 一直在播放器中打开它而不是下载它。有什么方法可以创建一个弹出窗口来要求用户“另存为”文件?

最佳答案

快进 3 年,现在 Google Chrome 提供 chrome.downloads API (自 Chrome 31 起)。

在 list 中声明“下载”权限后,可以通过以下调用启动下载:

chrome.downloads.download({
  url: "http://your.url/to/download",
  filename: "suggested/filename/with/relative.path" // Optional
});

如果想在脚本中生成文件内容,可以使用BlobURL API,例如:

var blob = new Blob(["array of", " parts of ", "text file"], {type: "text/plain"});
var url = URL.createObjectURL(blob);
chrome.downloads.download({
  url: url // The object URL can be used as download URL
  //...
});

有关更多选项(即另存为对话框、覆盖现有文件等),请参阅 documentation .

关于javascript - 制作 Chrome 扩展程序下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4845215/

相关文章:

html - 如何防止代码缩进影响内联 block 元素的渲染?

python - 如何在 Django 表单的模板中设置表单字段值?

javascript - jQuery 如何不断检查元素是否隐藏/可见?

javascript - Facebook Web App 开发错误

javascript - 带有 chrome 扩展的任务自动化

javascript - 将光标设置在文本框文本的末尾

javascript - 如何将父元素的高度设置为与子元素相同?

javascript - 使用 jQuery 验证电子邮件

javascript - 如何使div静态化,这样如果屏幕有两个大它就不会跳起来

javascript - img.height() 和 img.width() 在 chrome 中返回 0,但在 mozilla 中返回正确值