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()
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.