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。