Warning: Removed in Firefox 65.

The getScreenshot() method of the HTMLIFrameElement lets you request a screenshot of a content <iframe>, scaled to fit within a specified maximum width and height. The image will be cropped if necessary but will not be distorted vertically or horizontally.

Note: getScreenshot() waits for the event loop to go idle before it takes the screenshot. It won't wait more than 2000ms (this delay is defined by the Gecko dom.browserElement.maxScreenshotDelayMS preference).

Syntax

var instanceOfDOMRequest =
instanceOfHTMLIframeElement.getScreenshot(maxWidth, maxHeight, mimeType);

Returns

A DOMRequest for handling the screenshot request. Its request.onsuccess handler handles the success case (the screenshot is contained in request.result as a Blob object), and its request.onerror handler handles the failure case.

Parameters

maxWidth
A number representing the maximum width of the screenshot in device pixels.
maxHeight
A number representing the maximum height of the screenshot in device pixels.
mimeType Optional
A MIME type specifying the format of the image to be returned; if not specified, the default used is image/jpeg. Use image/png to capture the alpha channel of the rendered result by returning a PNG-format image. This lets you get a transparent background for the content <iframe>.

Examples

var browser = document.querySelector('iframe');

var request = browser.getScreenshot(100, 100);

request.onsuccess = function() {
  var blob = request.result;
  var url = URL.createObjectURL(blob);
}

Specification

Not part of any specification.

Browser compatibility

Supported since Firefox 47, in chrome code only. Removed completely in Firefox 65.

Unlikely ever to be supported in other browsers.

See also