Для работы большинству расширений необходим доступ к одному или нескольким 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 и многое другое. Используйте свойствоDebuggeetabIdдля выбора вкладок с помощью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
Используйте API
chrome.enterprise.deviceAttributesдля чтения атрибутов устройства. Примечание: этот API доступен только для расширений, принудительно установленных корпоративной политикой.- enterprise.hardwarePlatform
- Для Chrome 71+ требуется политика.
Используйте API
chrome.enterprise.hardwarePlatform, чтобы получить информацию о производителе и модели аппаратной платформы, на которой работает браузер. Примечание: этот API доступен только для расширений, установленных с помощью корпоративной политики. - enterprise.login
Используйте API
chrome.enterprise.loginдля выхода из сеансов управляемой гостевой системы. Примечание: этот API доступен только для расширений, установленных корпоративной политикой в сеансах управляемой гостевой системы ChromeOS.- enterprise.networkingAttributes
Используйте 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
Используйте 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для запроса информации о запоминающих устройствах и получения уведомлений о подключении и отключении съемных запоминающих устройств.- системный журнал
Используйте API
chrome.systemLogдля записи системных журналов Chrome из расширений.- tabCapture
Используйте API
chrome.tabCaptureдля взаимодействия с медиапотоками вкладок.- tabGroups
- Chrome 89+ MV3+
Используйте 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.- пользовательские скрипты
- 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 вы можете создавать, изменять и переставлять окна в браузере.