我正在创建一个扩展程序,它将从网站上下载mp3文件。我正在尝试通过创建带有指向mp3文件的链接的新标签来实现此目的,但是chrome会继续在播放器中打开它而不是下载它。有什么方法可以创建一个弹出窗口,要求用户“另存为”文件?
快进了3年,现在GoogleChrome提供了chrome.downloadsAPI(自Chrome31起)。
chrome.downloads
在"downloads"清单中声明许可后,可以通过以下调用启动下载:
"downloads"
chrome.downloads.download({ url: "http://your.url/to/download", filename: "suggested/filename/with/relative.path" // Optional });
如果要在脚本中生成文件内容,可以使用Blob和URLAPI,例如:
Blob
URL
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 //... });
有关更多选项(例如,另存为对话框,覆盖现有文件等),请参见文档