tabs.captureVisibleTab()

创建一个编码了给定标签页区域图像的数据 URL。你必须拥有 <all_urls>activeTab 权限

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

除了扩展通常可以访问的站点之外,这种方法还允许扩展捕获那些通常受限制的敏感站点,包括浏览器用户界面页面和其他扩展的页面。只有通过 activeTab 权限才能捕获这些敏感站点。当扩展获得文件访问权限时,Chrome 也允许捕获文件 URL。

这是一个返回 Promise 的异步函数。

js
let capturing = browser.tabs.captureVisibleTab(
  windowId,               // 可选的整数
  options              // 可选的 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}`);
}

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

浏览器兼容性

BCD tables only load in the browser

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