chrome.pageCapture

Description

Use the chrome.pageCapture API to save a tab as MHTML.

Permissions

pageCapture

MHTML is a standard format supported by most browsers. It encapsulates in a single file a page and all its resources (CSS files, images..).

Note that for security reasons a MHTML file can only be loaded from the file system and that it can only be loaded in the main frame.

Manifest

You must declare the "pageCapture" permission in the extension manifest to use the pageCapture API. For example:

{
  "name": "My extension",
  ...
  "permissions": [
    "pageCapture"
  ],
  ...
}

Methods

saveAsMHTML()

Promise
chrome.pageCapture.saveAsMHTML(
  details: object,
  callback?: function,
)

Saves the content of the tab with given id as MHTML.

Parameters

  • details

    object

    • tabId

      number

      The id of the tab to save as MHTML.

  • callback

    function optional

    The callback parameter looks like:

    (mhtmlData?: ArrayBuffer) => void

    • mhtmlData

      ArrayBuffer optional

      The MHTML data as a Blob.

Returns

  • Promise<ArrayBuffer | undefined>

    Chrome 116+

    Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.