chrome.extension

Описание

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

Типы

ViewType

Chrome 44+

Тип отображения расширения.

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

"вкладка"

"неожиданно возникнуть"

Характеристики

inIncognitoContext

Это справедливо для скриптов контента, работающих во вкладках в режиме инкогнито, и для страниц расширений, работающих в режиме инкогнито. Последнее относится только к расширениям с параметром incognito_behavior 'split'.

Тип

логический

lastError

≤ MV2 Устарело с Chrome 58

Пожалуйста, используйте runtime.lastError .

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

Тип

объект

Характеристики

  • сообщение

    нить

    Описание допущенной ошибки.

Методы

getBackgroundPage()

Только передний план
chrome.extension.getBackgroundPage(): Window | undefined

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

Возвраты

  • Окно | не определено

getExtensionTabs()

≤ MV2 Только передний план Устарело
chrome.extension.getExtensionTabs(
  windowId?: number,
)
: Window[]

Пожалуйста, используйте extension.getViews {type: "tab"} .

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

Параметры

  • windowId

    число необязательно

Возвраты

  • Окно[]

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

getURL()

≤ MV2 Устарело с Chrome 58
chrome.extension.getURL(
  path: string,
)
: string

Пожалуйста, используйте runtime.getURL .

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

Параметры

  • путь

    нить

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

Возвраты

  • нить

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

getViews()

Только передний план
chrome.extension.getViews(
  fetchProperties?: object,
)
: Window[]

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

Параметры

  • fetchProperties

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

    • tabId

      число необязательно

      Chrome 54+

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

    • тип

      ViewType ( необязательно)

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

    • windowId

      число необязательно

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

Возвраты

  • Окно[]

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

isAllowedFileSchemeAccess()

Обещать
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)
: Promise<boolean>

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

Параметры

  • перезвонить

    функция необязательна

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

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      логический

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

Возвраты

  • Promise<boolean>

    Chrome 99+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

isAllowedIncognitoAccess()

Обещать
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)
: Promise<boolean>

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

Параметры

  • перезвонить

    функция необязательна

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

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      логический

      Значение true, если расширение имеет доступ к режиму инкогнито, false в противном случае.

Возвраты

  • Promise<boolean>

    Chrome 99+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

sendRequest()

Promise ≤ MV2 Deprecated
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)
: Promise<any>

Пожалуйста, используйте runtime.sendMessage .

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

Параметры

  • extensionId

    строка необязательный

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

  • запрос

    любой

  • перезвонить

    функция необязательна

    Chrome 99+

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

    (response: any) => void

    • ответ

      любой

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

Возвраты

  • Обещание<любое>

    Chrome 99+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

setUpdateUrlData()

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

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

Параметры

  • данные

    нить

События

onRequest

≤ MV2 Устарело
chrome.extension.onRequest.addListener(
  callback: function,
)

Пожалуйста, используйте runtime.onMessage .

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

Параметры

  • перезвонить

    функция

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

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • запрос

      любой

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

      функция

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

      () => void

onRequestExternal

≤ MV2 Устарело
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

Пожалуйста, используйте runtime.onMessageExternal .

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

Параметры

  • перезвонить

    функция

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

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • запрос

      любой

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

      функция

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

      () => void