Для работы большинству расширений необходим доступ к одному или нескольким API расширений Chrome. В этом справочнике API описаны доступные для использования в расширениях API и приведены примеры их применения.
Начиная с Chrome 146, все API расширений Chrome также доступны в пространстве имен browser (например, browser.tabs.create({}) ). Это псевдоним для пространства имен chrome (например, chrome.tabs.create({}) ), предоставленный для совместимости с другими браузерами, которые используют пространство имен browser для своих API расширений. Поскольку не все пользователи обновляются сразу, вам следует убедиться, что ваше расширение может обрабатывать случаи, когда browser определен или не определен.
Функции 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 для каждого сайта в отдельности, а не глобально.- контекстные меню
Используйте 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 вы можете создавать, изменять и переставлять окна в браузере.