tabs.captureVisibleTab()

创建一个数据 URL,该 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);
});

浏览器兼容性

BCD 表仅在浏览器中加载

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