Описание
API chrome.management
предоставляет способы управления установленными приложениями и расширениями.
Разрешения
management
Для использования API управления необходимо указать разрешение «management» в манифесте расширения . Например:
{ "name": "My extension", ... "permissions": [ "management" ], ... }
management.getPermissionWarningsByManifest()
, management.uninstallSelf()
и management.getSelf()
не требуют разрешения на управление.
Типы
ExtensionDisabledReason
Причина, по которой элемент отключен.
Перечисление
"неизвестный" "permissions_increase"
ExtensionInfo
Информация об установленном расширении, приложении или теме.
Характеристики
- appLaunchUrl
строка необязательная
URL-адрес запуска (присутствует только для приложений).
- доступные типы запуска
LaunchType [] необязательно
Доступные в данный момент типы запуска (присутствуют только для приложений).
- описание
нить
Описание этого расширения, приложения или темы.
- отключенПричина
ExtensionDisabledReason (необязательно)
Причина, по которой элемент отключен.
- включено
булев
Независимо от того, включено ли оно в данный момент или выключено.
- Домашняя страницаUrl
строка необязательная
URL-адрес домашней страницы этого расширения, приложения или темы.
- hostPermissions
нить[]
Возвращает список разрешений на уровне хоста.
- иконки
IconInfo [] необязательно
Список информации о значках. Обратите внимание, что это всего лишь то, что было объявлено в манифесте, и фактическое изображение по этому URL может быть больше или меньше заявленного, поэтому вы можете рассмотреть возможность использования явных атрибутов ширины и высоты в тегах img, ссылающихся на эти изображения. Подробнее см. в документации по значкам в манифесте .
- идентификатор
нить
Уникальный идентификатор расширения.
- installType
Как было установлено расширение.
- isApp
булев
УстаревшийПожалуйста, используйте
management.ExtensionInfo.type
.True, если это приложение.
- launchType
LaunchType (необязательно)
Тип запуска приложения (присутствует только для приложений).
- можетОтключить
булев
Может ли пользователь отключить или удалить это расширение.
- можетВключить
логическое необязательное
Хром 62+Может ли пользователь включить это расширение. Возвращается только для невключенных расширений.
- имя
нить
Название этого расширения, приложения или темы.
- offlineEnabled
булев
Объявляет ли расширение, приложение или тема о своей поддержке режима офлайн.
- optionsUrl
нить
URL-адрес страницы параметров элемента, если таковая имеется.
- разрешения
нить[]
Возвращает список разрешений на основе API.
- shortName
нить
Краткая версия названия этого расширения, приложения или темы.
- тип
Тип этого расширения, приложения или темы.
- updateUrl
строка необязательная
URL-адрес обновления этого расширения, приложения или темы.
- версия
нить
Версия этого расширения, приложения или темы.
- versionName
строка необязательная
Хром 50+Название версии этого расширения, приложения или темы, если таковое указано в манифесте.
ExtensionInstallType
Как было установлено расширение. Один из вариантов: admin
: расширение было установлено в соответствии с политикой администратора, development
: расширение было загружено распакованным в режиме разработчика, normal
: расширение было установлено обычным способом через файл .crx, sideload
: расширение было установлено другим программным обеспечением на компьютере, other
: расширение было установлено другими способами.
Перечисление
"админ" "разработка" "нормальный" "боковая загрузка" "другой"
ExtensionType
Тип этого расширения, приложения или темы.
Перечисление
"расширение" "hosted_app" "упакованное_приложение" "legacy_packaged_app" "тема" "login_screen_extension"
IconInfo
Информация о значке, принадлежащем расширению, приложению или теме.
Характеристики
- размер
число
Число, обозначающее ширину и высоту значка. Возможные значения включают (но не ограничиваются) 128, 48, 24 и 16.
- URL-адрес
нить
URL-адрес этого значка. Чтобы отобразить значок в оттенках серого (например, чтобы указать, что расширение отключено), добавьте
?grayscale=true
к URL-адресу.
LaunchType
Это все возможные типы запуска приложения.
Перечисление
"OPEN_AS_REGULAR_TAB" "OPEN_AS_INNED_TAB" "ОТКРЫТЬ_КАК_ОКНО" "ОТКРЫТЬ_ПОЛНЫЙ_ЭКРАН"
UninstallOptions
Варианты действий по удалению расширения.
Характеристики
- showConfirmDialog
логическое необязательное
Должен ли выводиться диалог подтверждения удаления с запросом у пользователя. Значение по умолчанию — false для самостоятельного удаления. Если расширение удаляет другое расширение, этот параметр игнорируется, и диалоговое окно отображается всегда.
Методы
createAppShortcut()
chrome.management.createAppShortcut(
id: string,
): Promise<void>
Параметры отображения для создания ярлыков приложений. На Mac можно создавать только упакованные ярлыки приложений.
Параметры
- идентификатор
нить
Это должен быть идентификатор из элемента приложения
management.ExtensionInfo
.
Возврат
Обещание<void>
Хром 88+
generateAppForLink()
chrome.management.generateAppForLink(
url: string,
title: string,
): Promise<ExtensionInfo>
Генерирует приложение для URL-адреса. Возвращает сгенерированное приложение-закладку.
Параметры
- URL-адрес
нить
URL-адрес веб-страницы. URL-адрес может иметь только протокол «http» или «https».
- заголовок
нить
Название созданного приложения.
Возврат
Promise< Информация о расширении >
Хром 88+
get()
chrome.management.get(
id: string,
): Promise<ExtensionInfo>
Возвращает информацию об установленном расширении, приложении или теме с указанным идентификатором.
Параметры
- идентификатор
нить
Идентификатор из элемента
management.ExtensionInfo
.
Возврат
Promise< Информация о расширении >
Хром 88+
getAll()
chrome.management.getAll(): Promise<ExtensionInfo[]>
Возвращает список информации об установленных расширениях и приложениях.
Возврат
Обещание< ExtensionInfo []>
Хром 88+
getPermissionWarningsById()
chrome.management.getPermissionWarningsById(
id: string,
): Promise<string[]>
Возвращает список предупреждений о правах доступа для указанного идентификатора расширения.
Параметры
- идентификатор
нить
Идентификатор уже установленного расширения.
Возврат
Обещание<string[]>
Хром 88+
getPermissionWarningsByManifest()
chrome.management.getPermissionWarningsByManifest(
manifestStr: string,
): Promise<string[]>
Возвращает список предупреждений о нарушениях разрешений для заданной строки манифеста расширения. Примечание: эту функцию можно использовать без запроса разрешения «management» в манифесте.
Параметры
- manifestStr
нить
Строка JSON манифеста расширения.
Возврат
Обещание<string[]>
Хром 88+
getSelf()
chrome.management.getSelf(): Promise<ExtensionInfo>
Возвращает информацию о вызывающем расширении, приложении или теме. Примечание: эту функцию можно использовать без запроса разрешения «management» в манифесте.
Возврат
Promise< Информация о расширении >
Хром 88+
installReplacementWebApp()
chrome.management.installReplacementWebApp(): Promise<void>
Запускает replacement_web_app, указанный в манифесте. Предлагает пользователю установить его, если он ещё не установлен.
Возврат
Обещание<void>
Хром 88+
launchApp()
chrome.management.launchApp(
id: string,
): Promise<void>
Запускает приложение.
Параметры
- идентификатор
нить
Идентификатор расширения приложения.
Возврат
Обещание<void>
Хром 88+
setEnabled()
chrome.management.setEnabled(
id: string,
enabled: boolean,
): Promise<void>
Включает или отключает приложение или расширение. В большинстве случаев эта функция должна вызываться в контексте жеста пользователя (например, обработчик нажатия кнопки) и может предоставлять пользователю нативный интерфейс подтверждения для предотвращения злоупотреблений.
Параметры
- идентификатор
нить
Это должен быть идентификатор из элемента
management.ExtensionInfo
. - включено
булев
Следует ли включить или отключить этот элемент.
Возврат
Обещание<void>
Хром 88+
setLaunchType()
chrome.management.setLaunchType(
id: string,
launchType: LaunchType,
): Promise<void>
Установите тип запуска приложения.
Параметры
- идентификатор
нить
Это должен быть идентификатор из элемента приложения
management.ExtensionInfo
. - launchType
Целевой тип запуска. Всегда проверяйте и убедитесь, что этот тип запуска указан в
ExtensionInfo.availableLaunchTypes
, поскольку доступные типы запуска различаются на разных платформах и конфигурациях.
Возврат
Обещание<void>
Хром 88+
uninstall()
chrome.management.uninstall(
id: string,
options?: UninstallOptions,
): Promise<void>
Удаляет установленное приложение или расширение. Примечание: эта функция не работает в управляемых средах, где пользователю запрещено удалять указанное расширение/приложение. Если удаление не удалось (например, пользователь отменил диалог), обещание будет отклонено или будет вызван обратный вызов с установленным runtime.lastError
.
Параметры
- идентификатор
нить
Это должен быть идентификатор из элемента
management.ExtensionInfo
. - параметры
UninstallOptions (опционально)
Возврат
Обещание<void>
Хром 88+
uninstallSelf()
chrome.management.uninstallSelf(
options?: UninstallOptions,
): Promise<void>
Удаляет вызывающее расширение. Примечание: эту функцию можно использовать без запроса разрешения «management» в манифесте. Эта функция не работает в управляемых средах, где пользователю запрещено удалять указанное расширение/приложение.
Параметры
- параметры
UninstallOptions (опционально)
Возврат
Обещание<void>
Хром 88+
События
onDisabled
chrome.management.onDisabled.addListener(
callback: function,
)
Срабатывает при отключении приложения или расширения.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ExtensionInfo) => void
- информация
onEnabled
chrome.management.onEnabled.addListener(
callback: function,
)
Срабатывает при включении приложения или расширения.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ExtensionInfo) => void
- информация
onInstalled
chrome.management.onInstalled.addListener(
callback: function,
)
Срабатывает при установке приложения или расширения.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ExtensionInfo) => void
- информация
onUninstalled
chrome.management.onUninstalled.addListener(
callback: function,
)
Срабатывает при удалении приложения или расширения.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(id: string) => void
- идентификатор
нить