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 和一个包含已更改属性的对象。

扩展程序示例

浏览器兼容性

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