Описание
Используйте API chrome.pageCapture для сохранения вкладки в формате MHTML.
Разрешения
pageCaptureMHTML — это стандартный формат, поддерживаемый большинством браузеров. Он объединяет в одном файле страницу и все её ресурсы (CSS-файлы, изображения и т. д.).
Обратите внимание, что по соображениям безопасности файл MHTML может быть загружен только из файловой системы и только на главном фрейме.
Манифест
Для использования API pageCapture необходимо указать разрешение "pageCapture" в манифесте расширения . Например:
{
"name": "My extension",
...
"permissions": [
"pageCapture"
],
...
}
Методы
saveAsMHTML()
chrome.pageCapture.saveAsMHTML(
details: object,
callback?: function,
): Promise<Blob | undefined>
Сохраняет содержимое вкладки с заданным идентификатором в формате MHTML.
Параметры
- подробности
объект
- tabId
число
Идентификатор вкладки, которую нужно сохранить в формате MHTML.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(mhtmlData?: Blob) => void
- mhtmlData
Необязательный параметр "Blob"
Данные MHTML представлены в виде Blob-объекта.
Возвраты
Promise<Blob | undefined>
Chrome 116+Проблема решается после генерации MHTML-файла.
Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.