tabs.captureVisibleTab()

创建指定窗口中活动标签页区域的编码数据 URL。您必须拥有 <all_urls>activeTab 权限

注意:在 Firefox 125 及更早版本中,此方法仅在拥有 <all_urls> 权限时可用。

除了扩展程序通常可以访问的网站之外,此方法还允许扩展程序捕获受限制的敏感网站,包括浏览器 UI 页面和其他扩展程序的页面。这些敏感网站只能使用 activeTab 权限进行捕获。如果扩展程序获得了文件访问权限,Chrome 也允许捕获文件 URL。

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

语法

js
let capturing = browser.tabs.captureVisibleTab(
  windowId,               // optional integer
  options                 // optional extensionTypes.ImageDetails
)

参数

windowId 可选

integer。目标窗口。默认为当前窗口。

options 可选

extensionTypes.ImageDetails.

返回值

一个 Promise,它会以编码捕获图像的数据 URL 来完成。它可以被分配给 HTML 图像元素的 'src' 属性进行显示。如果发生任何错误,Promise 会以错误消息拒绝。

示例

使用默认图像设置捕获当前窗口中活动标签页的图像

js
function onCaptured(imageUri) {
  console.log(imageUri);
}

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

browser.browserAction.onClicked.addListener(() => {
  let capturing = browser.tabs.captureVisibleTab();
  capturing.then(onCaptured, onError);
});

浏览器兼容性

注意:此 API 基于 Chromium 的 chrome.tabs API。本文档源自 Chromium 代码中的 tabs.json