downloads.open()

**open()** 函数是 downloads API 的一部分,它使用相关应用程序打开已下载的文件。当项目首次打开时,会触发 downloads.onChanged 事件。

要在扩展中使用此函数,您必须请求 “downloads.open” 清单权限,以及 “downloads” 权限。此外,您只能在 用户操作 处理程序内部调用此函数。

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

语法

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

参数

downloadId

一个 integer,表示要打开的 downloads.DownloadItemid

返回值

一个 Promise。如果请求成功,则 promise 将用无参数的方式完成。如果请求失败,则 promise 将用错误消息拒绝。

浏览器兼容性

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

示例

此示例打开最近下载的项目

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。