downloads.getFileIcon()

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

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

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

这是一个返回Promise 的异步函数。

语法

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

参数

downloadId

表示下载 ID 的整数

options 可选

表示要检索的图标的首选项的选项对象。它可以采用以下属性

size 可选

表示图标大小的整数。返回的图标大小将是提供的 size 的平方(以像素为单位)。如果省略,则图标的默认大小为 32x32 像素。

返回值

一个Promise。如果请求成功,则 promise 将以表示图标绝对 URL 的字符串的形式完成。如果请求失败,则 promise 将被拒绝并显示错误消息。

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

示例

此示例记录最近下载的图标 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。