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

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

Начиная с Chrome 148 эти API также доступны в пространстве имен browser как кросс-браузерная альтернатива chrome. Рекомендации по внедрению приведены в разделе Пространство имен браузера.

Общие функции Extensions API

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

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

API расширений Chrome

accessibilityFeatures

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

action
Chrome 88+ browser.* начиная с Chrome 148 MV3+

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

alarms

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

audio
Chrome 59 и более поздних версий browser.* начиная с Chrome 148 Только ChromeOS

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

закладки

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

browsingData

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

certificateProvider
Chrome 46 и более поздних версий browser.* начиная с Chrome 148 Только для ChromeOS

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

команды

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

contentSettings

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

contextMenus

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

файлы cookie

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

Отладчик

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

declarativeContent

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

declarativeNetRequest
Chrome 84+ browser.* начиная с Chrome 148

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

desktopCapture

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

devtools.inspectedWindow

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

devtools.network

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

devtools.panels

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

devtools.performance
Chrome 129+ browser.* начиная с Chrome 152

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

devtools.recorder
Chrome 105+ browser.* начиная с Chrome 152

Используйте chrome.devtools.recorder API, чтобы настроить панель Recorder в DevTools.

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

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

documentScan
Chrome 44+ browser.* начиная с Chrome 148 Только ChromeOS

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

dom
Chrome 88+ browser.* начиная с Chrome 148

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

downloads

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

enterprise.deviceAttributes
Chrome 46+ browser.* начиная с Chrome 148 Только для ChromeOS Требуется правило

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

enterprise.hardwarePlatform
Chrome 71 и более поздних версий browser.* начиная с Chrome 148 Требуется правило

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

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

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

enterprise.networkingAttributes
Chrome 85+ browser.* начиная с Chrome 148 Только ChromeOS Требуется правило

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

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

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

События

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

extension

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

extensionTypes

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

fileBrowserHandler
Только для ChromeOS Только для активного режима

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

fileSystemProvider
Только для ChromeOS

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

fontSettings

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

gcm

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

история

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

i18n

Используйте инфраструктуру chrome.i18n, чтобы реализовать интернационализацию во всем приложении или расширении.

identity

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

idle

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

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

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

instanceID
Chrome 44+ browser.* начиная с Chrome 148

Используйте chrome.instanceID для доступа к сервису Instance ID.

loginState
Chrome 78+ browser.* начиная с Chrome 148 Только для ChromeOS

Используйте chrome.loginState API, чтобы считывать и отслеживать статус входа.

видео

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

mimeHandler
Chrome 151+

Используйте API chrome.mimeHandler для обработки потоков MIME-типов в сторонних расширениях.

Уведомления

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

offscreen
Chrome 109+ browser.* начиная с Chrome 148 MV3+

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

omnibox

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

pageCapture

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

разрешения

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

platformKeys
Chrome 45+ browser.* начиная с Chrome 148 Только для ChromeOS

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

power

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

printerProvider
Chrome 44+ browser.* начиная с Chrome 148

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

печать
Chrome 81 и более поздних версий browser.* начиная с Chrome 148 Только для ChromeOS

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

printingMetrics
Chrome 79 и более поздних версий browser.* начиная с Chrome 148 Только для ChromeOS Требуется правило

Используйте API chrome.printingMetrics, чтобы получать данные об использовании принтеров.

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

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

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

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

proxy

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

publicSuffix
Chrome 153 и более поздних версий

Используйте chrome.publicSuffix API, чтобы запросить список общедоступных суффиксов (PSL) браузера.

readingList
Chrome 120+ browser.* начиная с Chrome 148 MV3+

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

runtime

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

scripting
Chrome 88+ browser.* начиная с Chrome 148 MV3+

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

search
Chrome 87 и более поздних версий browser.* начиная с Chrome 148

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

сеансы

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

sidePanel
Chrome 114+ browser.* начиная с Chrome 148 MV3+

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

storage

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

system.cpu

Используйте API system.cpu, чтобы запрашивать метаданные ЦП.

system.display

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

system.memory

API chrome.system.memory.

system.storage

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

systemLog
Chrome 125+ browser.* начиная с Chrome 148 Только для ChromeOS Требуется правило

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

tabCapture

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

tabGroups
Chrome 89+ browser.* начиная с Chrome 148 MV3+

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

вкладки

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

topSites

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

tts

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

ttsEngine

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

types

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

userScripts
Chrome 120+ browser.* начиная с Chrome 148 MV3+

Используйте userScripts API, чтобы выполнять пользовательские скрипты в контексте User Scripts.

vpnProvider
Chrome 43+ browser.* начиная с Chrome 148 Только ChromeOS

Используйте API chrome.vpnProvider, чтобы реализовать VPN-клиент.

обои
Chrome 43+ browser.* начиная с Chrome 148 Только ChromeOS

Используйте chrome.wallpaper API, чтобы изменить обои ChromeOS.

webAuthenticationProxy
Chrome 115+ browser.* начиная с Chrome 148 MV3+

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

webNavigation

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

webRequest

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

windows

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