Описание
 API chrome.extension содержит утилиты, которые может использовать любая страница расширения. Он включает поддержку обмена сообщениями между расширением и его скриптами контента, а также между расширениями, как подробно описано в разделе «Передача сообщений» . 
Типы
ViewType
Тип представления расширения.
Перечисление
 "вкладка"   "неожиданно возникнуть" 
Характеристики
inIncognitoContext
Верно для скриптов контента, работающих внутри вкладок в режиме инкогнито, и для страниц расширений, работающих внутри процесса в режиме инкогнито. Последнее применимо только к расширениям с «разделённым» incognito_behavior.
Тип
булев
lastError
 Используйте runtime.lastError .
 Устанавливается на время существования обратного вызова, если асинхронное расширение API привело к ошибке. Если ошибок не произошло, lastError будет иметь undefined . 
Тип
объект
Характеристики
- сообщениенить Описание произошедшей ошибки. 
Методы
getBackgroundPage()
chrome.extension.getBackgroundPage(): Window | undefined
Возвращает объект JavaScript «window» для фоновой страницы, работающей внутри текущего расширения. Возвращает значение null, если у расширения нет фоновой страницы.
Возврат
- Окно | не определено 
getExtensionTabs()
chrome.extension.getExtensionTabs(
windowId?: number,
): Window[]
 Пожалуйста, используйте extension.getViews {type: "tab"} .
 Возвращает массив объектов JavaScript 'window' для каждой из вкладок, запущенных в текущем расширении. Если указан windowId , возвращает только объекты 'window' вкладок, прикреплённых к указанному окну. 
Параметры
- windowIdномер необязательно 
Возврат
- Окно[] - Массив глобальных оконных объектов 
getURL()
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()
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
chrome.extension.onRequest.addListener(
callback: function,
)
 Используйте runtime.onMessage .
Срабатывает при отправке запроса из процесса расширения или скрипта содержимого.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(request: any, sender: runtime.MessageSender, sendResponse: function) => void - запрослюбой 
- отправитель
- sendResponseфункция Параметр sendResponseвыглядит так:() => void 
 
onRequestExternal
chrome.extension.onRequestExternal.addListener(
callback: function,
)
 Используйте runtime.onMessageExternal .
Срабатывает при отправке запроса с другого расширения.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(request: any, sender: runtime.MessageSender, sendResponse: function) => void - запрослюбой 
- отправитель
- sendResponseфункция Параметр sendResponseвыглядит так:() => void