chrome.extension

Описание

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

Типы

ViewType

Хром 44+

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

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

"вкладка"

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

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

inIncognitoContext

Верно для скриптов контента, работающих внутри вкладок в режиме инкогнито, и для страниц расширений, работающих внутри процесса в режиме инкогнито. Последнее применимо только к расширениям с «разделённым» incognito_behavior.

Тип

булев

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

      номер необязательно

      Хром 54+

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

    • тип

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

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

    • windowId

      номер необязательно

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

Возврат

  • Окно[]

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

isAllowedFileSchemeAccess()

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

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

Параметры

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

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

    Параметр callback выглядит так:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      булев

      True, если расширение может получить доступ к схеме «file://», в противном случае — false.

Возврат

  • Обещание<логическое>

    Хром 99+

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

isAllowedIncognitoAccess()

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

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

Параметры

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

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

    Параметр callback выглядит так:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      булев

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

Возврат

  • Обещание<логическое>

    Хром 99+

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

sendRequest()

Обещание ≤ MV2 Устаревшее
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)
: Promise<any>

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

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

Параметры

  • extensionId

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

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

  • запрос

    любой

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

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

    Хром 99+

    Параметр callback выглядит так:

    (response: any) => void

    • ответ

      любой

      Объект ответа JSON, отправленный обработчиком запроса. Если при подключении к расширению возникнет ошибка, функция обратного вызова будет вызвана без аргументов, а runtime.lastError будет указано сообщение об ошибке.

Возврат

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

    Хром 99+

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

setUpdateUrlData()

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

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

Параметры

  • данные

    нить

События

onRequest

≤ MV2 Устаревший
chrome.extension.onRequest.addListener(
  callback: function,
)

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

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

Параметры

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

    функция

    Параметр callback выглядит так:

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

    • запрос

      любой

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

      функция

      Параметр sendResponse выглядит так:

      () => void

onRequestExternal

≤ MV2 Устаревший
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

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

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

Параметры

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

    функция

    Параметр callback выглядит так:

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

    • запрос

      любой

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

      функция

      Параметр sendResponse выглядит так:

      () => void