Большинству расширений для работы требуется доступ к одному или нескольким 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 захвата рабочего стола захватывает содержимое экрана, отдельных окон или отдельных вкладок.
- devtools.inspectedWindow
Используйте API
chrome.devtools.inspectedWindow
для взаимодействия с проверяемым окном: получите идентификатор вкладки для проверяемой страницы, оцените код в контексте проверяемого окна, перезагрузите страницу или получите список ресурсов на странице.- devtools.network
Используйте API
chrome.devtools.network
для получения информации о сетевых запросах, отображаемой инструментами разработчика на панели «Сеть».- devtools.panels
Используйте API
chrome.devtools.panels
для интеграции вашего расширения в пользовательский интерфейс окна инструментов разработчика: создавайте свои собственные панели, получайте доступ к существующим панелям и добавляйте боковые панели.- devtools. Performance
- Хром 129+
Используйте API
chrome.devtools.performance
для прослушивания обновлений состояния записи на панели «Производительность» в DevTools. - 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
Используйте API
chrome.enterprise.deviceAttributes
для чтения атрибутов устройства. Примечание. Этот API доступен только для расширений, принудительно установленных в соответствии с корпоративной политикой.- предприятие.аппаратное обеспечениеПлатформа
- Chrome 71+ Требуется политика
Используйте API
chrome.enterprise.hardwarePlatform
, чтобы узнать производителя и модель аппаратной платформы, на которой работает браузер. Примечание. Этот API доступен только для расширений, установленных политикой предприятия. - предприятие.networkingAttributes
Используйте API
chrome.enterprise.networkingAttributes
, чтобы прочитать информацию о вашей текущей сети. Примечание. Этот API доступен только для расширений, принудительно установленных в соответствии с корпоративной политикой.- Enterprise.platformKeys
- Только ChromeOS Требуется политика
Используйте API
chrome.enterprise.platformKeys
для создания ключей и установки сертификатов для этих ключей. Сертификаты будут управляться платформой и могут использоваться для аутентификации TLS, доступа к сети или для других расширений через 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
- Только ChromeOS
Используйте 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 (см. chrome.vpnProvider ). - власть
Используйте API
chrome.power
, чтобы переопределить функции управления питанием системы.- принтерПровайдер
- Хром 44+
API
chrome.printerProvider
предоставляет события, используемые диспетчером печати для запроса принтеров, управляемых расширениями, запроса их возможностей и отправки заданий печати на эти принтеры. - печать
- Chrome 81+ только для ChromeOS
Используйте API
chrome.printing
для отправки заданий печати на принтеры, установленные на Chromebook. - печатьМетрики
Используйте 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
для запроса информации об устройстве хранения и получения уведомлений о подключении и отключении съемного устройства хранения.- системный журнал
Используйте API
chrome.systemLog
для записи системных журналов Chrome из расширений.- вкладкаЗахват
Используйте API
chrome.tabCapture
для взаимодействия с медиапотоками вкладок.- tabGroups
- Хром 89+ МВ3+
Используйте API
chrome.tabGroups
для взаимодействия с системой группировки вкладок браузера. Вы можете использовать этот API для изменения и изменения порядка групп вкладок в браузере. Чтобы группировать и разгруппировать вкладки или запрашивать, какие вкладки входят в группы, используйте APIchrome.tabs
. - вкладки
Используйте API
chrome.tabs
для взаимодействия с системой вкладок браузера. Вы можете использовать этот API для создания, изменения и изменения порядка вкладок в браузере.- топСайты
Используйте API
chrome.topSites
для доступа к самым популярным сайтам (т. е. наиболее посещаемым сайтам), которые отображаются на странице новой вкладки. Сюда не входят ярлыки, настроенные пользователем.- ТТС
Используйте API
chrome.tts
для воспроизведения синтезированного текста в речь (TTS). См. также соответствующий APIttsEngine
, который позволяет расширению реализовать речевой движок.- ttsEngine
Используйте API
chrome.ttsEngine
для реализации механизма преобразования текста в речь (TTS) с помощью расширения. Если ваше расширение регистрируется с использованием этого API, оно будет получать события, содержащие произносимое высказывание, и другие параметры, когда какое-либо расширение или приложение Chrome использует APItts
для генерации речи. Затем ваше расширение может использовать любую доступную веб-технологию для синтеза и вывода речи, а также отправлять события обратно вызывающей функции для сообщения о состоянии.- типы
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 для создания, изменения и перестановки окон в браузере.