Справочник по API

Для работы большинству расширений необходим доступ к одному или нескольким API расширений Chrome. В этом справочнике API описаны доступные для использования в расширениях API и приведены примеры их применения.

Начиная с Chrome 144, все API расширений Chrome также доступны в пространстве имен browser (например, browser.tabs.create({}) ). Это псевдоним для пространства имен chrome (например, chrome.tabs.create({}) ), предоставленный для совместимости с другими браузерами, которые используют пространство имен browser для своих API расширений.

Функции API общих расширений

API расширений состоит из пространства имен, содержащего методы и свойства для работы с расширениями, и, как правило, но не всегда, полей манифеста для файла manifest.json . Например, пространство имен chrome.action требует наличия объекта "action" в манифесте. Многие API также требуют указания разрешений в манифесте.

Методы в API расширений являются асинхронными, если не указано иное. Асинхронные методы возвращают результат немедленно, не дожидаясь завершения операции, которая их вызвала. Для получения результатов этих асинхронных методов используйте промисы .

API-интерфейсы расширений Chrome

функции доступности

Используйте API chrome.accessibilityFeatures для управления функциями специальных возможностей Chrome. Этот API основан на прототипе ChromeSetting из API типов для получения и установки отдельных функций специальных возможностей. Для получения состояния функций расширение должно запросить разрешение accessibilityFeatures.read . Для изменения состояния функции расширению требуется разрешение accessibilityFeatures.modify . Обратите внимание, что accessibilityFeatures.modify не подразумевает разрешения accessibilityFeatures.read .

действие
Chrome 88+ MV3+

Используйте API chrome.action для управления значком расширения на панели инструментов Google Chrome.

сигналы тревоги

Используйте API chrome.alarms для планирования периодического выполнения кода или его запуска в указанное время в будущем.

аудио
Chrome 59+ (только ChromeOS)

API chrome.audio предназначен для получения пользователями информации об аудиоустройствах, подключенных к системе, и управления ими. В настоящее время этот API доступен только в режиме киоска для ChromeOS.

закладки

Используйте API chrome.bookmarks для создания, организации и управления закладками. Также см. раздел «Переопределение страниц» , который позволяет создать пользовательскую страницу менеджера закладок.

данные просмотра

Используйте API chrome.browsingData для удаления данных о просмотре страниц из локального профиля пользователя.

поставщик сертификатов
Chrome 46+ (только для ChromeOS)

Используйте этот API для предоставления доступа к сертификатам платформе, которая сможет использовать эти сертификаты для аутентификации TLS.

команды

Используйте API команд для добавления сочетаний клавиш, которые запускают действия в вашем расширении, например, действие по открытию браузера или отправку команды расширению.

contentSettings

Используйте API chrome.contentSettings для изменения настроек, определяющих, могут ли веб-сайты использовать такие функции, как файлы cookie, JavaScript и плагины. В более общем смысле, настройки контента позволяют настраивать поведение Chrome для каждого сайта в отдельности, а не глобально.

contextMenus

Используйте API chrome.contextMenus для добавления элементов в контекстное меню Google Chrome. Вы можете выбрать, к каким типам объектов будут применяться ваши дополнения контекстного меню, например, к изображениям, гиперссылкам и страницам.

файлы cookie

Используйте API chrome.cookies для запроса и изменения файлов cookie, а также для получения уведомлений об их изменениях.

отладчик

API chrome.debugger служит альтернативным средством передачи данных для протокола удаленной отладки Chrome. Используйте chrome.debugger для подключения к одной или нескольким вкладкам, чтобы отслеживать сетевое взаимодействие, отлаживать JavaScript, изменять DOM и CSS и многое другое. Используйте свойство Debuggee tabId для выбора вкладок с помощью sendCommand и маршрутизации событий по tabId из коллбэков onEvent .

декларативное содержание

Используйте API chrome.declarativeContent для выполнения действий в зависимости от содержимого страницы, не требуя разрешения на чтение содержимого страницы.

декларативныйNetRequest
Chrome 84+

API chrome.declarativeNetRequest используется для блокировки или изменения сетевых запросов путем указания декларативных правил. Это позволяет расширениям изменять сетевые запросы, не перехватывая их и не просматривая их содержимое, тем самым обеспечивая большую конфиденциальность.

desktopCapture

API Desktop Capture позволяет захватывать содержимое экрана, отдельных окон или вкладок.

devtools.inspectedWindow

Используйте API chrome.devtools.inspectedWindow для взаимодействия с проверяемым окном: получите идентификатор вкладки для проверяемой страницы, выполните код в контексте проверяемого окна, перезагрузите страницу или получите список ресурсов на странице.

devtools.network

Используйте API chrome.devtools.network для получения информации о сетевых запросах, отображаемой инструментами разработчика на панели «Сеть».

devtools.panels

Используйте API chrome.devtools.panels для интеграции вашего расширения в пользовательский интерфейс окна инструментов разработчика: создавайте собственные панели, получайте доступ к существующим панелям и добавляйте боковые панели.

devtools.performance
Chrome 129+

Используйте API chrome.devtools.performance , чтобы отслеживать обновления статуса записи в панели «Производительность» в инструментах разработчика.

devtools.recorder
Chrome 105+

Используйте API chrome.devtools.recorder для настройки панели записи в инструментах разработчика.

dns
Канал для разработчиков

Для разрешения DNS-запросов используйте API chrome.dns .

documentScan
Chrome 44+ (только ChromeOS)

Используйте API chrome.documentScan для обнаружения и получения изображений с подключенных сканеров документов.

дом
Chrome 88+

Используйте API chrome.dom для доступа к специальным API DOM для расширений.

загрузки

Используйте API chrome.downloads для программного запуска, мониторинга, управления и поиска загрузок.

enterprise.deviceAttributes
Chrome 46+ Только для ChromeOS Требуется политика

Используйте API chrome.enterprise.deviceAttributes для чтения атрибутов устройства. Примечание: этот API доступен только для расширений, принудительно установленных корпоративной политикой.

enterprise.hardwarePlatform

Используйте API chrome.enterprise.hardwarePlatform , чтобы получить информацию о производителе и модели аппаратной платформы, на которой работает браузер. Примечание: этот API доступен только для расширений, установленных с помощью корпоративной политики.

enterprise.login
Chrome 139+ Только для ChromeOS Требуется политика

Используйте API chrome.enterprise.login для выхода из сеансов управляемой гостевой системы. Примечание: этот API доступен только для расширений, установленных корпоративной политикой в ​​сеансах управляемой гостевой системы ChromeOS.

enterprise.networkingAttributes
Chrome 85+ Только для ChromeOS Требуется политика

Используйте API chrome.enterprise.networkingAttributes для получения информации о вашей текущей сети. Примечание: этот API доступен только для расширений, принудительно установленных корпоративной политикой.

enterprise.platformKeys
Только для ChromeOS требуется политика.

Используйте API chrome.enterprise.platformKeys для генерации ключей и установки сертификатов для этих ключей. Сертификаты будут управляться платформой и могут использоваться для аутентификации TLS, доступа к сети или другими расширениями через chrome.platformKeys.

события

Пространство имен chrome.events содержит общие типы, используемые API для отправки событий, чтобы уведомлять вас о происходящих интересных событиях.

расширение

API chrome.extension содержит утилиты, которые могут использоваться любой страницей расширения. Он включает поддержку обмена сообщениями между расширением и его скриптами контента или между самими расширениями, как подробно описано в разделе «Передача сообщений» .

extensionTypes

API chrome.extensionTypes содержит объявления типов для расширений Chrome.

fileBrowserHandler
Только ChromeOS Только передний план

Используйте API chrome.fileBrowserHandler для расширения возможностей файлового браузера Chrome OS. Например, вы можете использовать этот API, чтобы позволить пользователям загружать файлы на ваш веб-сайт.

fileSystemProvider
Только для ChromeOS

Используйте API chrome.fileSystemProvider для создания файловых систем, доступных из файлового менеджера Chrome OS.

fontSettings

Для управления настройками шрифтов в Chrome используйте API chrome.fontSettings .

гкм

Используйте chrome.gcm , чтобы разрешить приложениям и расширениям отправлять и получать сообщения через Firebase Cloud Messaging (FCM).

история

Используйте API chrome.history для взаимодействия с историей посещенных страниц браузера. Вы можете добавлять, удалять и запрашивать URL-адреса из истории браузера. Чтобы заменить страницу истории собственной версией, см. раздел «Замена страниц» .

i18n

Используйте инфраструктуру chrome.i18n для внедрения интернационализации во всё ваше приложение или расширение.

личность

Используйте API chrome.identity для получения токенов доступа OAuth2.

праздный

Используйте API chrome.idle для определения момента изменения состояния простоя компьютера.

input.ime
Только для ChromeOS

Используйте API chrome.input.ime для реализации пользовательского IME для Chrome OS. Это позволит вашему расширению обрабатывать нажатия клавиш, устанавливать параметры композиции и управлять окнами-кандидатами.

instanceID
Chrome 44+

Для доступа к службе идентификаторов экземпляров используйте chrome.instanceID .

loginState
Chrome 78+ (только ChromeOS)

Используйте API chrome.loginState для чтения и отслеживания состояния входа в систему.

управление

API chrome.management предоставляет способы управления установленными приложениями и расширениями.

уведомления

Используйте API chrome.notifications для создания расширенных уведомлений с помощью шаблонов и отображения этих уведомлений пользователям в системном трее.

закадровый
Chrome 109+ MV3+

Используйте API для работы с документами, находящимися offscreen , чтобы создавать и управлять ими.

омнибокс

API omnibox позволяет зарегистрировать ключевое слово в адресной строке Google Chrome, которая также известна как omnibox.

pageCapture

Используйте API chrome.pageCapture для сохранения вкладки в формате MHTML.

разрешения

Используйте API chrome.permissions для запроса объявленных необязательных разрешений во время выполнения, а не во время установки, чтобы пользователи понимали, зачем нужны эти разрешения, и предоставляли только те, которые необходимы.

platformKeys
Chrome 45+ (только ChromeOS)

Используйте API chrome.platformKeys для доступа к клиентским сертификатам, управляемым платформой. Если пользователь или политика предоставляют разрешение, расширение может использовать такой сертификат в своем пользовательском протоколе аутентификации. Например, это позволяет использовать сертификаты, управляемые платформой, в VPN-сервисах третьих сторон (см. chrome.vpnProvider ).

власть

Используйте API chrome.power для переопределения функций управления питанием системы.

поставщик принтеров
Chrome 44+

API chrome.printerProvider предоставляет события, используемые менеджером печати для запроса информации о принтерах, управляемых расширениями, для запроса их возможностей и для отправки заданий на печать этим принтерам.

печать
Chrome 81+ (только ChromeOS)

Используйте API chrome.printing для отправки заданий на печать на принтеры, установленные на Chromebook.

printingMetrics
Chrome 79+ Только для ChromeOS Требуется политика

Используйте API chrome.printingMetrics для получения данных об использовании функции печати.

конфиденциальность

Используйте API chrome.privacy для управления использованием функций Chrome, которые могут повлиять на конфиденциальность пользователя. Этот API основан на прототипе ChromeSetting типа API для получения и установки конфигурации Chrome.

процессы
Канал для разработчиков

Используйте API chrome.processes для взаимодействия с процессами браузера.

прокси

Используйте API chrome.proxy для управления настройками прокси Chrome. Этот API использует прототип ChromeSetting из API типа для получения и установки конфигурации прокси.

Список для чтения
Chrome 120+ MV3+

Используйте API chrome.readingList для чтения и изменения элементов в списке для чтения .

среда выполнения

Используйте API chrome.runtime для получения информации о сервис-воркере, получения сведений о манифесте, а также для прослушивания и реагирования на события в жизненном цикле расширения. Вы также можете использовать этот API для преобразования относительных путей URL-адресов в полные URL-адреса.

скриптинг
Chrome 88+ MV3+

Используйте API chrome.scripting для выполнения скриптов в различных контекстах.

поиск
Chrome 87+

Используйте API chrome.search для поиска через стандартный поисковый сервис.

сессии

Используйте API chrome.sessions для запроса и восстановления вкладок и окон из сеанса просмотра.

боковая панель
Chrome 114+ MV3+

Используйте API chrome.sidePanel для размещения контента в боковой панели браузера рядом с основным содержимым веб-страницы.

хранилище

Используйте API chrome.storage для хранения, извлечения и отслеживания изменений пользовательских данных.

система.процессор

Используйте API system.cpu для запроса метаданных процессора.

система.дисплей

Используйте API system.display для запроса метаданных дисплея.

системная память

API chrome.system.memory .

система.хранилище

Используйте API chrome.system.storage для запроса информации о запоминающих устройствах и получения уведомлений о подключении и отключении съемных запоминающих устройств.

системный журнал
Chrome 125+ Только для ChromeOS Требуется политика

Используйте API chrome.systemLog для записи системных журналов Chrome из расширений.

tabCapture

Используйте API chrome.tabCapture для взаимодействия с медиапотоками вкладок.

tabGroups
Chrome 89+ MV3+

Используйте API chrome.tabGroups для взаимодействия с системой группировки вкладок браузера. С помощью этого API вы можете изменять и переупорядочивать группы вкладок в браузере. Для группировки и разгруппировки вкладок, а также для запроса информации о вкладках, входящих в группы, используйте API chrome.tabs .

вкладки

Используйте API chrome.tabs для взаимодействия с системой вкладок браузера. С помощью этого API вы можете создавать, изменять и переставлять вкладки в браузере.

лучшие сайты

Используйте API chrome.topSites для доступа к самым посещаемым сайтам, отображаемым на странице новой вкладки. В этот список не входят ярлыки, настроенные пользователем.

ттс

Используйте API chrome.tts для воспроизведения синтезированной речи (TTS). См. также связанный с ним API ttsEngine , который позволяет расширению реализовать собственный речевой движок.

ttsEngine

Используйте API chrome.ttsEngine для реализации механизма преобразования текста в речь (TTS) с помощью расширения. Если ваше расширение зарегистрируется в этом API, оно будет получать события, содержащие фразу для произнесения и другие параметры, когда любое расширение или приложение Chrome использует API tts для генерации речи. Затем ваше расширение может использовать любые доступные веб-технологии для синтеза и вывода речи, а также отправлять события обратно вызывающей функции для сообщения о состоянии.

типы

API chrome.types содержит объявления типов для Chrome.

пользовательские скрипты
Chrome 120+ MV3+

Используйте API userScripts для выполнения пользовательских скриптов в контексте пользовательских скриптов.

vpnProvider
Chrome 43+ (только ChromeOS)

Используйте API chrome.vpnProvider для реализации VPN-клиента.

обои
Chrome 43+ (только ChromeOS)

Используйте API chrome.wallpaper для смены обоев ChromeOS.

webAuthenticationProxy
Chrome 115+ MV3+

API chrome.webAuthenticationProxy позволяет программам удаленного рабочего стола, работающим на удаленном хосте, перехватывать запросы Web Authentication API (WebAuthn) для их обработки на локальном клиенте.

веб-навигация

Используйте API chrome.webNavigation для получения уведомлений о статусе выполняющихся запросов навигации.

веб-запрос

Используйте API chrome.webRequest для наблюдения и анализа трафика, а также для перехвата, блокировки или изменения запросов в процессе выполнения.

окна

Используйте API chrome.windows для взаимодействия с окнами браузера. С помощью этого API вы можете создавать, изменять и переставлять окна в браузере.