downloads.getFileIcon()

downloads API 的 getFileIcon() 函数用于检索指定下载的图标。

对于新的下载,在收到 downloads.onCreated 事件后,文件图标即可使用。在下载进行过程中,此函数返回的图像可能与下载完成后返回的图像不同。

图标检索通过查询底层平台完成。因此,返回的图标将取决于多种因素,包括下载状态、平台、注册的文件类型和视觉主题。

这是一个异步函数,返回一个 Promise

语法

js
let gettingIcon = browser.downloads.getFileIcon(
  downloadId,           // integer
  options               // optional object
)

参数

downloadId

一个 integer,表示下载的 ID。

options 可选

一个 options object,表示要检索的图标的偏好设置。它可以包含以下属性

size 可选

一个 integer,表示图标的大小。返回的图标大小将是提供的尺寸的平方(以像素为单位)。如果省略,图标的默认大小为 32x32 像素。

返回值

一个 Promise。如果请求成功,Promise 将以图标的绝对 URL 字符串的形式兑现。如果请求失败,Promise 将以错误消息的形式被拒绝。

示例

此示例记录了最近一次下载的图标 URL

js
function gotIcon(iconUrl) {
  console.log(iconUrl);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

function getIcon(downloadItems) {
  if (downloadItems.length > 0) {
    latestDownloadId = downloadItems[0].id;
    let gettingIcon = browser.downloads.getFileIcon(latestDownloadId);
    gettingIcon.then(gotIcon, onError);
  }
}

let searching = browser.downloads.search({
  limit: 1,
  orderBy: ["-startTime"],
});

searching.then(getIcon, onError);

扩展程序示例

浏览器兼容性

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