tabs.captureVisibleTab()

Creates a data URI 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

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

Parameters

windowIdOptional
integer. The target window. Defaults to the current window.
optionsOptional
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:

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

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

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

Browser compatibility

Report problems with this compatibility data on GitHub
webextensions-desktopwebextensions-mobile
ChromeEdgeFirefoxOperaSafariFirefox for Android
captureVisibleTab

Legend

Full support
Full support
See implementation notes.

Acknowledgements

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

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.