Описание
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