downloads.open()

downloads API 的 open() 函式會使用關聯的應用程式開啟下載的檔案。當專案首次開啟時,會觸發一個 downloads.onChanged 事件。

要在您的擴充套件中使用此函式,您必須請求 "downloads.open" manifest 許可權,以及 "downloads" 許可權。此外,您只能從 使用者操作 的處理程式內部呼叫此函式。

這是一個非同步函式,返回一個 Promise

語法

js
let opening = browser.downloads.open(
  downloadId      // integer
)

引數

downloadId

一個代表您要開啟的 downloads.DownloadItemidinteger

返回值

一個 Promise。如果請求成功,該 Promise 將不帶引數地 fulfilled。如果請求失敗,該 Promise 將帶錯誤訊息 rejected。

示例

此示例開啟最近下載的專案

js
function onOpened() {
  console.log(`Opened download item`);
}

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

function openDownload(downloadItems) {
  if (downloadItems.length > 0) {
    let opening = browser.downloads.open(downloadItems[0].id);
    opening.then(onOpened, onError);
  }
}

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

searching.then(openDownload, onError);

擴充套件程式示例

瀏覽器相容性

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