Описание
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,
callback?: function,
): Promise<void>
Параметры отображения для создания ярлыков приложений. На Mac можно создавать только упакованные ярлыки приложений.
Параметры
- идентификатор
нить
Это должен быть идентификатор из элемента приложения
management.ExtensionInfo
. - перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
generateAppForLink()
chrome.management.generateAppForLink(
url: string,
title: string,
callback?: function,
): Promise<ExtensionInfo>
Генерирует приложение для URL-адреса. Возвращает сгенерированное приложение-закладку.
Параметры
- URL-адрес
нить
URL-адрес веб-страницы. URL-адрес может иметь только протокол «http» или «https».
- заголовок
нить
Название созданного приложения.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(result: ExtensionInfo) => void
- результат
Возврат
Promise< Информация о расширении >
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
get()
chrome.management.get(
id: string,
callback?: function,
): Promise<ExtensionInfo>
Возвращает информацию об установленном расширении, приложении или теме с указанным идентификатором.
Параметры
- идентификатор
нить
Идентификатор из элемента
management.ExtensionInfo
. - перезвонить
функция необязательна
Параметр
callback
выглядит так:(result: ExtensionInfo) => void
- результат
Возврат
Promise< Информация о расширении >
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getAll()
chrome.management.getAll(
callback?: function,
): Promise<ExtensionInfo[]>
Возвращает список информации об установленных расширениях и приложениях.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(result: ExtensionInfo[]) => void
- результат
Возврат
Обещание< ExtensionInfo []>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getPermissionWarningsById()
chrome.management.getPermissionWarningsById(
id: string,
callback?: function,
): Promise<string[]>
Возвращает список предупреждений о правах доступа для указанного идентификатора расширения.
Параметры
- идентификатор
нить
Идентификатор уже установленного расширения.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(permissionWarnings: string[]) => void
- разрешениеПредупреждения
нить[]
Возврат
Обещание<string[]>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getPermissionWarningsByManifest()
chrome.management.getPermissionWarningsByManifest(
manifestStr: string,
callback?: function,
): Promise<string[]>
Возвращает список предупреждений о нарушениях разрешений для заданной строки манифеста расширения. Примечание: эту функцию можно использовать без запроса разрешения «management» в манифесте.
Параметры
- manifestStr
нить
Строка JSON манифеста расширения.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(permissionWarnings: string[]) => void
- разрешениеПредупреждения
нить[]
Возврат
Обещание<string[]>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getSelf()
chrome.management.getSelf(
callback?: function,
): Promise<ExtensionInfo>
Возвращает информацию о вызывающем расширении, приложении или теме. Примечание: эту функцию можно использовать без запроса разрешения «management» в манифесте.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(result: ExtensionInfo) => void
- результат
Возврат
Promise< Информация о расширении >
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
installReplacementWebApp()
chrome.management.installReplacementWebApp(
callback?: function,
): Promise<void>
Запускает replacement_web_app, указанный в манифесте. Предлагает пользователю установить его, если он ещё не установлен.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
launchApp()
chrome.management.launchApp(
id: string,
callback?: function,
): Promise<void>
Запускает приложение.
Параметры
- идентификатор
нить
Идентификатор расширения приложения.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
setEnabled()
chrome.management.setEnabled(
id: string,
enabled: boolean,
callback?: function,
): Promise<void>
Включает или отключает приложение или расширение. В большинстве случаев эта функция должна вызываться в контексте жеста пользователя (например, обработчик нажатия кнопки) и может предоставлять пользователю нативный интерфейс подтверждения для предотвращения злоупотреблений.
Параметры
- идентификатор
нить
Это должен быть идентификатор из элемента
management.ExtensionInfo
. - включено
булев
Следует ли включить или отключить этот элемент.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
setLaunchType()
chrome.management.setLaunchType(
id: string,
launchType: LaunchType,
callback?: function,
): Promise<void>
Установите тип запуска приложения.
Параметры
- идентификатор
нить
Это должен быть идентификатор из элемента приложения
management.ExtensionInfo
. - launchType
Целевой тип запуска. Всегда проверяйте и убедитесь, что этот тип запуска указан в
ExtensionInfo.availableLaunchTypes
, поскольку доступные типы запуска различаются на разных платформах и конфигурациях. - перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
uninstall()
chrome.management.uninstall(
id: string,
options?: UninstallOptions,
callback?: function,
): Promise<void>
Удаляет установленное приложение или расширение. Примечание: эта функция не работает в управляемых средах, где пользователю запрещено удалять указанное расширение/приложение. Если удаление не удалось (например, пользователь отменил диалог), обещание будет отклонено или будет вызван обратный вызов с установленным runtime.lastError
.
Параметры
- идентификатор
нить
Это должен быть идентификатор из элемента
management.ExtensionInfo
. - параметры
UninstallOptions (опционально)
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
uninstallSelf()
chrome.management.uninstallSelf(
options?: UninstallOptions,
callback?: function,
): Promise<void>
Удаляет вызывающее расширение. Примечание: эту функцию можно использовать без запроса разрешения «management» в манифесте. Эта функция не работает в управляемых средах, где пользователю запрещено удалять указанное расширение/приложение.
Параметры
- параметры
UninstallOptions (опционально)
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 88+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
События
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
- идентификатор
нить