tabs.captureVisibleTab()
创建一个编码了给定标签页区域图像的数据 URL。你必须拥有 <all_urls>
或 activeTab
权限。
备注:在 Firefox 125 及更早版本中,此方法仅在拥有 <all_urls>
权限时可用。
除了扩展通常可以访问的站点之外,这种方法还允许扩展捕获那些通常受限制的敏感站点,包括浏览器用户界面页面和其他扩展的页面。只有通过 activeTab
权限才能捕获这些敏感站点。当扩展获得文件访问权限时,Chrome 也允许捕获文件 URL。
这是一个返回 Promise
的异步函数。
js
let capturing = browser.tabs.captureVisibleTab(
windowId, // 可选的整数
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
。