downloads

允许扩展程序与浏览器的下载管理器进行交互。你可以使用此 API 模块下载文件,取消、暂停、恢复下载,并在文件管理器中显示已下载的文件。

要使用此 API,你需要在 manifest.json 文件中指定“downloads” API 权限

类型

downloads.FilenameConflictAction

定义当下载的文件名与现有文件冲突时的处理选项。

downloads.InterruptReason

定义下载中断的可能原因。

downloads.DangerType

定义与可下载文件相关的常见危险警告。

downloads.State

定义当前下载的不同状态。

downloads.DownloadItem

表示已下载的文件。

downloads.StringDelta

表示两个字符串之间的差异。

downloads.DoubleDelta

表示两个双精度浮点数之间的差异。

downloads.BooleanDelta

表示两个布尔值之间的差异。

downloads.DownloadTime

表示下载完成所需的时间。

downloads.DownloadQuery

定义一组参数,这些参数可用于在下载管理器中搜索特定的下载集合。

函数

downloads.download()

根据给定的 URL 和其他可选首选项下载文件。

downloads.search()

查询浏览器下载管理器中可用的 DownloadItems,并返回符合指定搜索条件的项目。

downloads.pause()

暂停下载。

downloads.resume()

恢复暂停的下载。

downloads.cancel()

取消下载。

downloads.getFileIcon()

检索指定下载的图标。

downloads.open()

使用关联的应用程序打开已下载的文件。

downloads.show()

打开平台的文件管理器应用程序,以显示包含已下载文件的文件夹。

downloads.showDefaultFolder()

打开平台的文件管理器应用程序,以显示默认的下载文件夹。

downloads.erase()

从浏览器的下载历史记录中删除匹配的 DownloadItems,而不从磁盘上删除下载的文件。

downloads.removeFile()

从磁盘上删除已下载的文件,但不从浏览器的下载历史记录中删除。

downloads.acceptDanger()

提示用户接受或取消危险下载。

downloads.setShelfEnabled()

启用或禁用与当前浏览器配置文件关联的每个窗口底部的灰色下载栏。只要至少有一个扩展程序禁用了下载栏,下载栏将保持禁用状态。

事件

downloads.onCreated

下载开始时,触发并传递 DownloadItem 对象。

downloads.onErased

从历史记录中删除下载时,触发并传递 downloadId

downloads.onChanged

DownloadItem 的任何属性(除了 bytesReceived)发生变化时,触发并传递 downloadId 和包含更改属性的对象。

浏览器兼容性

BCD tables only load in the browser

示例扩展

备注: 此 API 基于 Chromium 的 chrome.downloads API。