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

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

доступностьОсобенности

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

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

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

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

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

закладки

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

действие браузера
≤ МВ2

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

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

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

декларативныйWebRequest
Бета-канал ≤ MV2

Примечание. Этот API устарел. Вместо этого воспользуйтесь API {@link declarativeNetRequest}. Используйте API chrome.declarativeWebRequest для перехвата, блокировки или изменения запросов в реальном времени. Это значительно быстрее, чем {@link webRequest chrome.webRequest API}, поскольку вы можете регистрировать правила, которые оцениваются в браузере, а не в движке JavaScript, что снижает задержки и обеспечивает более высокую эффективность.

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

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

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

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

омнибокс

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

страницаДействие
≤ МВ2

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

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

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

поиск
Хром 87+

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

сессии

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

хранилище

Используйте 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 для взаимодействия с медиапотоками вкладок.

вкладки

Используйте 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.

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

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

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

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

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

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

веб-запрос

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

окна

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