下载

使扩展能够与浏览器的下载管理器交互。您可以使用此 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 表仅在启用了 JavaScript 的浏览器中加载。

示例扩展

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