tabs.captureVisibleTab()

Creates a data URL encoding the image of an area of the currently active tab in the specified window. You must have the <all_urls> permission to use this method. (Alternately, Chrome allows use of this method with the activeTab permission and a qualifying user gesture).

This is an asynchronous function that returns a Promise.

Syntax

js

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

Parameters

windowId Optional

integer. The target window. Defaults to the current window.

options Optional

extensionTypes.ImageDetails.

Return value

A Promise that will be fulfilled with a data URL which encodes the captured image. May be assigned to the 'src' property of an HTML Image element for display. If any error occurs the promise will be rejected with an error message.

Examples

Capture an image of the active tab in the current window, with default settings:

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);
});

Browser compatibility

BCD tables only load in the browser

Note: This API is based on Chromium's chrome.tabs API. This documentation is derived from tabs.json in the Chromium code.