chrome.extension

refresh date: 2026-09-25 robots: noindex

Описание

API chrome.extension содержит утилиты, которые можно использовать на любой странице расширения. В частности, он позволяет обмениваться сообщениями между расширением и его скриптами контента или между расширениями, как описано в статье Передача сообщений.

Типы

ViewType

Chrome 44 и более поздних версий;

Тип представления расширения.

Перечисление

"tab"

"popup"

Свойства

inIncognitoContext

Значение True для скриптов контента, запущенных на вкладках инкогнито, и для страниц расширений, запущенных в процессе инкогнито. Последнее относится только к расширениям с incognito_behavior, равным split.

Тип

Логическое значение

lastError

≤ MV2 Устарело начиная с Chrome 58

Используйте runtime.lastError.

Устанавливается на время жизни обратного вызова, если асинхронный API расширения привел к ошибке. Если ошибок не было, lastError будет иметь значение undefined.

Тип

Объект

Свойства

  • Сообщение

    string

    Описание ошибки.

Методы

getBackgroundPage()

Только в активном режиме
chrome.extension.getBackgroundPage(): Window | undefined

Возвращает объект window JavaScript для фоновой страницы, которая выполняется в текущем расширении. Возвращает null, если у расширения нет фоновой страницы.

Возвраты

  • Window | undefined

getExtensionTabs()

≤ MV2 Только активный режим Поддержка прекращена
chrome.extension.getExtensionTabs(
  windowId?: number,
)
: Window[]

Используйте extension.getViews {type: "tab"}.

Возвращает массив объектов window JavaScript для каждой вкладки, запущенной в текущем расширении. Если указан параметр windowId, возвращаются только объекты window вкладок, прикрепленных к указанному окну.

Параметры

  • windowId

    number необязательно

Возвраты

  • Window[]

    Массив глобальных объектов window

getURL()

≤ MV2 Поддержка прекращена в Chrome 58
chrome.extension.getURL(
  path: string,
)
: string

Используйте runtime.getURL.

Преобразует относительный путь в каталоге установки расширения в полный URL.

Параметры

  • путь

    string

    Путь к ресурсу в расширении, указанный относительно каталога установки.

Возвраты

  • string

    Полный URL ресурса.

getViews()

Только в активном режиме
chrome.extension.getViews(
  fetchProperties?: object,
)
: Window[]

Возвращает массив объектов window JavaScript для каждой страницы, запущенной в текущем расширении.

Параметры

  • fetchProperties

    Объект (необязательно)

    • tabId

      number необязательно

      Chrome 54 и более поздних версий;

      Найти представление по идентификатору вкладки. Если это поле не заполнено, возвращаются все представления.

    • тип

      ViewType необязательный

      Тип представления, которое нужно получить. Если не указано, возвращает все представления (включая фоновые страницы и вкладки).

    • windowId

      number необязательно

      Окно, в котором будет выполняться поиск. Если этот параметр не указан, возвращаются все представления.

Возвраты

  • Window[]

    Массив глобальных объектов

isAllowedFileSchemeAccess()

Promise
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)
: Promise<boolean>

Получает статус доступа расширения к схеме file://. Это соответствует настройке "Разрешить открывать локальные файлы по ссылкам", которая задается пользователем для каждого расширения на странице chrome://extensions.

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (isAllowedAccess: boolean) =& gt;void

    • isAllowedAccess

      Логическое значение

      Значение true, если у расширения есть доступ к схеме file://, и false, если нет.

Возвраты

  • Promise<boolean>

    Chrome 99 и более поздних версий.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

isAllowedIncognitoAccess()

Promise
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)
: Promise<boolean>

Получает состояние доступа расширения к режиму инкогнито. Это соответствует настройке "Разрешить использование в режиме инкогнито" для каждого расширения, доступной на странице chrome://extensions.

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (isAllowedAccess: boolean) =& gt;void

    • isAllowedAccess

      Логическое значение

      True, если у расширения есть доступ к режиму инкогнито, и false, если нет.

Возвраты

  • Promise<boolean>

    Chrome 99 и более поздних версий.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

sendRequest()

Promise &leq; MV2 Поддержка прекращена
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)
: Promise<any>

Используйте runtime.sendMessage.

Отправляет один запрос другим прослушивателям в расширении. Похож на runtime.connect, но отправляет только один запрос с необязательным ответом. Событие extension.onRequest запускается на каждой странице расширения.

Параметры

  • extensionId

    Строка (необязательно)

    Идентификатор расширения, к которому вы хотите подключиться. Если не указано, по умолчанию используется ваше расширение.

  • запрос

    любой

  • обратный вызов

    function необязательно

    Chrome 99 и более поздних версий.

    Параметр callback выглядит следующим образом:

    (response: any) =& gt;void

    • Ответ

      любой

      Объект ответа JSON, отправленный обработчиком запроса. Если при подключении к расширению произойдет ошибка, объект Promise будет отклонен.

Возвраты

  • Promise<any>

    Chrome 99 и более поздних версий.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setUpdateUrlData()

chrome.extension.setUpdateUrlData(
  data: string,
)
: void

Задает значение параметра CGI ap, который используется в URL обновления расширения. Это значение игнорируется для расширений, размещенных в галерее расширений Chrome.

Параметры

  • делал.

    string

События

onRequest

&leq; MV2 Поддержка прекращена
chrome.extension.onRequest.addListener(
  callback: function,
)

Используйте runtime.onMessage.

Срабатывает, когда запрос отправляется из процесса расширения или скрипта контента.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (request: any, sender: runtime.MessageSender, sendResponse: function) =& gt;void

    • запрос

      любой

    • отправитель
    • sendResponse

      function

      Параметр sendResponse выглядит следующим образом:

      () =& gt;void

onRequestExternal

&leq; MV2 Поддержка прекращена
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

Используйте runtime.onMessageExternal.

Срабатывает, когда запрос отправляется из другого расширения.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (request: any, sender: runtime.MessageSender, sendResponse: function) =& gt;void

    • запрос

      любой

    • отправитель
    • sendResponse

      function

      Параметр sendResponse выглядит следующим образом:

      () =& gt;void