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

Большинству расширений для работы требуется доступ к одному или нескольким API расширений Chrome. В этом справочнике по API описаны 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 .

действие
Хром 88+ МВ3+

Используйте 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, чтобы добавить сочетания клавиш, которые запускают действия в вашем расширении, например действие по открытию браузера или отправку команды расширению.

настройки контента

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

контекстМеню

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

печенье

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

отладчик

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

декларативный контент

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

декларативныйNetRequest
Хром 84+

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

рабочий столCapture

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

devtools.inspectedWindow

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

devtools.network

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

devtools.panels

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

devtools.recorder
Хром 105+

Используйте API chrome.devtools.recorder для настройки панели «Рекордер» в DevTools.

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

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

DocumentScan
Chrome 44+ только для ChromeOS

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

дом
Хром 88+

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

загрузки

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

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

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

предприятие.аппаратное обеспечениеПлатформа

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

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

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

Enterprise.platformKeys

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

события

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

расширение

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

Типы расширений

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

обработчик файлабраузера
Только ChromeOS Только передний план

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

файлсистемпровидер
Только ChromeOS

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

Настройки шрифта

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

гкм

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

история

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

i18n

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

личность

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

праздный

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

input.ime

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

идентификатор экземпляра
Хром 44+

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

состояние входа
Chrome 78+ только для ChromeOS

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

управление

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

уведомления

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

закадровый
Хром 109+ МВ3+

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

омнибокс

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

страницаЗахват

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

разрешения

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

ПлатформаКлючи
Chrome 45+ только для ChromeOS

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

власть

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

принтерПровайдер
Хром 44+

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

печать
Chrome 81+ только для ChromeOS

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

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

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

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

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

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

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

прокси

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

список для чтения
Хром 120+ МВ3+

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

время выполнения

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

сценарии
Хром 88+ МВ3+

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

поиск
Хром 87+

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

сессии

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

боковая панель
Хром 114+ МВ3+

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

хранилище

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

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

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

system.display

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

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

API chrome.system.memory .

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

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

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

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

tabCapture

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

tabGroups
Хром 89+ МВ3+

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

вкладки

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

топСайты

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

ТТС

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

ttsEngine

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

типы

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

пользовательские сценарии
Хром 120+ МВ3+

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

vpnProvider
Chrome 43+ только для ChromeOS

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

обои
Chrome 43+ только для ChromeOS

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

webAuthenticationProxy
Хром 115+ МВ3+

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

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

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

веб-запрос

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

окна

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