Для работы большинства расширений требуется доступ к одному или нескольким 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.alarmsAPI, чтобы запланировать периодическое выполнение кода или его запуск в определенное время. - audio
-
Chrome 59 и более поздних версий browser.* начиная с Chrome 148 Только ChromeOS
chrome.audioAPI позволяет пользователям получать информацию об аудиоустройствах, подключенных к системе, и управлять ими. В настоящее время этот API доступен только в режиме киоска для ChromeOS. - закладки
-
Используйте
chrome.bookmarksAPI, чтобы создавать, упорядочивать и иным образом управлять закладками. Также ознакомьтесь с информацией о переопределении страниц, которое можно использовать для создания собственной страницы менеджера закладок. - 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.cookiesAPI, чтобы запрашивать и изменять файлы cookie, а также получать уведомления об их изменении. - Отладчик
-
API
chrome.debuggerслужит альтернативным транспортом для протокола удаленной отладки Chrome. Используйтеchrome.debugger, чтобы подключиться к одной или нескольким вкладкам и отслеживать сетевое взаимодействие, отлаживать JavaScript, изменять DOM и CSS и выполнять другие действия. Используйте свойствоtabIdDebuggee, чтобы настроить таргетинг на вкладки с помощьюsendCommandи маршрутизировать события поtabIdиз обратных вызововonEvent. - declarativeContent
-
Используйте
chrome.declarativeContentAPI, чтобы выполнять действия в зависимости от контента страницы, не запрашивая разрешение на его чтение. - declarativeNetRequest
-
Chrome 84+ browser.* начиная с Chrome 148
API
chrome.declarativeNetRequestиспользуется для блокировки или изменения сетевых запросов путем указания декларативных правил. Это позволяет расширениям изменять сетевые запросы, не перехватывая их и не просматривая их содержимое, что обеспечивает большую конфиденциальность. - desktopCapture
-
API трансляции экрана позволяет записывать содержимое экрана, отдельных окон или вкладок.
- devtools.inspectedWindow
-
Используйте
chrome.devtools.inspectedWindowAPI для взаимодействия с проверяемым окном: получите идентификатор вкладки для проверяемой страницы, оцените код в контексте проверяемого окна, перезагрузите страницу или получите список ресурсов на странице. - devtools.network
-
Используйте API
chrome.devtools.network, чтобы получить информацию о сетевых запросах, которые показываются на панели "Сеть" в Инструментах разработчика. - devtools.panels
-
Используйте
chrome.devtools.panelsAPI, чтобы интегрировать расширение в интерфейс окна инструментов разработчика: создавайте собственные панели, получайте доступ к существующим и добавляйте боковые панели. - devtools.performance
-
Chrome 129+ browser.* начиная с Chrome 152
Используйте API
chrome.devtools.performance, чтобы получать обновления статуса записи на панели "Производительность" в инструментах разработчика. - devtools.recorder
-
Chrome 105+ browser.* начиная с Chrome 152
Используйте
chrome.devtools.recorderAPI, чтобы настроить панель Recorder в DevTools. - dns
-
Канал для разработчиков
Используйте API
chrome.dnsдля DNS-преобразования. - documentScan
-
Chrome 44+ browser.* начиная с Chrome 148 Только ChromeOS
Используйте
chrome.documentScanAPI, чтобы находить и получать изображения с подключенных сканеров документов. - dom
-
Chrome 88+ browser.* начиная с Chrome 148
Используйте API
chrome.dom, чтобы получить доступ к специальным DOM API для расширений. - downloads
-
Используйте
chrome.downloadsAPI, чтобы программно запускать, отслеживать, изменять и искать скачивания. - enterprise.deviceAttributes
-
Используйте
chrome.enterprise.deviceAttributesAPI, чтобы читать атрибуты устройств. Примечание. Этот API доступен только для расширений, принудительно установленных в соответствии с корпоративными правилами. - enterprise.hardwarePlatform
-
Используйте API
chrome.enterprise.hardwarePlatform, чтобы получить информацию о производителе и модели аппаратной платформы, на которой запущен браузер. Примечание. Этот API доступен только для расширений, установленных в соответствии с корпоративными правилами. - enterprise.login
-
Используйте API
chrome.enterprise.login, чтобы выйти из управляемых гостевых сеансов. Примечание. Этот API доступен только для расширений, установленных в соответствии с корпоративными правилами в управляемых гостевых сеансах ChromeOS. - enterprise.networkingAttributes
-
Используйте API
chrome.enterprise.networkingAttributes, чтобы получать информацию о текущей сети. Примечание. Этот API доступен только для расширений, принудительно установленных в соответствии с корпоративными правилами. - enterprise.platformKeys
-
Только для ChromeOS Требуется правило
Используйте
chrome.enterprise.platformKeysAPI, чтобы генерировать ключи и устанавливать для них сертификаты. Сертификаты будут управляться платформой и могут использоваться для аутентификации TLS, доступа к сети или другими расширениями через chrome.platformKeys. - События
-
Пространство имен
chrome.eventsсодержит распространенные типы, используемые API, которые отправляют события, чтобы уведомлять вас о том, что происходит что-то интересное. - extension
-
API
chrome.extensionсодержит утилиты, которые можно использовать на любой странице расширения. В частности, он позволяет обмениваться сообщениями между расширением и его скриптами контента или между расширениями, как описано в статье Передача сообщений. - extensionTypes
-
chrome.extensionTypesAPI содержит объявления типов для расширений 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.historyAPI для взаимодействия с записью браузера о посещенных страницах. Вы можете добавлять и удалять URL в истории браузера, а также запрашивать их. Чтобы заменить страницу истории собственной версией, ознакомьтесь с разделом Переопределение страниц. - i18n
-
Используйте инфраструктуру
chrome.i18n, чтобы реализовать интернационализацию во всем приложении или расширении. - identity
-
Используйте
chrome.identityAPI, чтобы получить токены доступа 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.loginStateAPI, чтобы считывать и отслеживать статус входа. - видео
-
API
chrome.managementпозволяет управлять установленными приложениями и расширениями. - mimeHandler
-
Chrome 151+
Используйте API
chrome.mimeHandlerдля обработки потоков MIME-типов в сторонних расширениях. - Уведомления
-
Используйте
chrome.notificationsAPI, чтобы создавать уведомления на основе шаблонов и показывать их пользователям в области уведомлений. - offscreen
-
Chrome 109+ browser.* начиная с Chrome 148 MV3+
Используйте
offscreenAPI, чтобы создавать фоновые документы и управлять ими. - omnibox
-
Omnibox API позволяет зарегистрировать ключевое слово в адресной строке Google Chrome, которая также называется омнибоксом.
- pageCapture
-
Используйте
chrome.pageCaptureAPI, чтобы сохранить вкладку в формате 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.processesAPI для взаимодействия с процессами браузера. - proxy
-
Используйте API
chrome.proxyдля управления настройками прокси-сервера Chrome. Для получения и настройки конфигурации прокси-сервера этот API использует прототип ChromeSetting типа API. - publicSuffix
-
Chrome 153 и более поздних версий
Используйте
chrome.publicSuffixAPI, чтобы запросить список общедоступных суффиксов (PSL) браузера. - readingList
-
Chrome 120+ browser.* начиная с Chrome 148 MV3+
Используйте
chrome.readingListAPI, чтобы читать и изменять элементы в списке для чтения. - runtime
-
Используйте API
chrome.runtime, чтобы получить сервисный скрипт, вернуть сведения о манифесте, а также прослушивать события в жизненном цикле расширения и реагировать на них. Этот API также позволяет преобразовывать относительные пути URL в полные URL. - scripting
-
Chrome 88+ browser.* начиная с Chrome 148 MV3+
Используйте
chrome.scriptingAPI, чтобы выполнять скрипты в разных контекстах. - search
-
Chrome 87 и более поздних версий browser.* начиная с Chrome 148
Используйте API
chrome.searchдля поиска через систему по умолчанию. - сеансы
-
Используйте
chrome.sessionsAPI, чтобы запрашивать и восстанавливать вкладки и окна из сеанса просмотра. - sidePanel
-
Chrome 114+ browser.* начиная с Chrome 148 MV3+
Используйте
chrome.sidePanelAPI, чтобы размещать контент на боковой панели браузера рядом с основным контентом веб-страницы. - storage
-
Используйте
chrome.storageAPI, чтобы хранить и получать пользовательские данные, а также отслеживать изменения в них. - system.cpu
-
Используйте API
system.cpu, чтобы запрашивать метаданные ЦП. - system.display
-
Используйте
system.displayAPI, чтобы запрашивать актуальные метаданные. - system.memory
-
API
chrome.system.memory. - system.storage
-
Используйте
chrome.system.storageAPI, чтобы запрашивать информацию о накопителе и получать уведомления о подключении и отключении съемного накопителя. - systemLog
-
Используйте API
chrome.systemLog, чтобы записывать системные журналы Chrome из расширений. - tabCapture
-
Используйте
chrome.tabCaptureAPI для взаимодействия с медиапотоками вкладок. - tabGroups
-
Chrome 89+ browser.* начиная с Chrome 148 MV3+
Используйте
chrome.tabGroupsAPI для взаимодействия с системой группировки вкладок браузера. С помощью этого API можно изменять и переупорядочивать группы вкладок в браузере. Чтобы группировать вкладки, отменять группировку или запрашивать, какие вкладки находятся в группах, используйтеchrome.tabsAPI. - вкладки
-
Используйте
chrome.tabsAPI для взаимодействия с системой вкладок браузера. С помощью этого API можно создавать, изменять и упорядочивать вкладки в браузере. - topSites
-
Используйте
chrome.topSitesAPI, чтобы получить доступ к самым популярным сайтам (то есть наиболее посещаемым), которые отображаются на странице новой вкладки. Это не относится к сочетаниям клавиш, настроенным пользователем. - tts
-
Используйте
chrome.ttsAPI для воспроизведения синтезированного преобразования текста в речь (TTS). Также ознакомьтесь с APIttsEngine, который позволяет расширению использовать речевой движок. - ttsEngine
-
Используйте
chrome.ttsEngineAPI, чтобы реализовать систему синтеза речи с помощью расширения. Если расширение зарегистрировано с помощью этого API, оно будет получать события, содержащие фразу для озвучивания и другие параметры, когда любое расширение или приложение Chrome использует APIttsдля генерации речи. Затем расширение может использовать любую доступную веб-технологию для синтеза и вывода речи, а также отправлять события обратно в вызывающую функцию, чтобы сообщить о статусе. - types
-
API
chrome.typesсодержит объявления типов для Chrome. - userScripts
-
Chrome 120+ browser.* начиная с Chrome 148 MV3+
Используйте
userScriptsAPI, чтобы выполнять пользовательские скрипты в контексте User Scripts. - vpnProvider
-
Chrome 43+ browser.* начиная с Chrome 148 Только ChromeOS
Используйте API
chrome.vpnProvider, чтобы реализовать VPN-клиент. - обои
-
Chrome 43+ browser.* начиная с Chrome 148 Только ChromeOS
Используйте
chrome.wallpaperAPI, чтобы изменить обои ChromeOS. - webAuthenticationProxy
-
Chrome 115+ browser.* начиная с Chrome 148 MV3+
chrome.webAuthenticationProxyAPI позволяет ПО для удаленного рабочего стола, запущенному на удаленном хосте, перехватывать запросы к Web Authentication API (WebAuthn), чтобы обрабатывать их на локальном клиенте. - webNavigation
-
Используйте
chrome.webNavigationAPI, чтобы получать уведомления о статусе запросов навигации во время поездки. - webRequest
-
Используйте API
chrome.webRequest, чтобы отслеживать и анализировать трафик, а также перехватывать, блокировать или изменять запросы в процессе передачи. - windows
-
Используйте API
chrome.windowsдля взаимодействия с окнами браузера. С помощью этого API можно создавать, изменять и упорядочивать окна в браузере.