说明
chrome.management API 提供了管理安装式应用和扩展程序的方式。
权限
management必须在扩展程序清单中声明“管理”权限,才能使用 Management API。例如:
{
  "name": "My extension",
  ...
  "permissions": [
    "management"
  ],
  ...
}
management.getPermissionWarningsByManifest()、management.uninstallSelf() 和 management.getSelf() 不需要管理权限。
类型
ExtensionDisabledReason
项目被禁用的原因。
枚举
"unknown" 
 
"permissions_increase" 
 
ExtensionInfo
与已安装的扩展程序、应用或主题相关的信息。
属性
- 
    appLaunchUrl
字符串 可选
启动网址(仅适用于应用)。
 - 
    availableLaunchTypes
LaunchType[] 可选
当前可用的启动类型(仅适用于应用)。
 - 
    description
string
扩展程序、应用或主题的说明。
 - 
    disabledReason
项目被禁用的原因。
 - 
    enabled
布尔值
当前处于启用还是禁用状态。
 - 
    homepageUrl
字符串 可选
扩展程序、应用或主题的首页网址。
 - 
    hostPermissions
string[]
返回基于主机的权限列表。
 - 
    icons
IconInfo[] 可选
图标信息列表。请注意,这仅反映清单中声明的内容,实际图片尺寸可能与声明不符,建议在引用这些图像的 img 标签中显式指定宽度和高度属性。详见图标清单文档。
 - 
    id
string
扩展程序的唯一标识符。
 - 
    installType
扩展程序的安装方式。
 - 
    isApp
布尔值
已弃用请使用
management.ExtensionInfo.type。若为应用,则为 True。
 - 
    launchType
LaunchType 可选
应用启动类型(仅适用于应用)。
 - 
    mayDisable
布尔值
用户是否可以停用或卸载此扩展程序。
 - 
    mayEnable
布尔值 (可选)
Chrome 62 及更高版本用户是否可以启用此扩展程序。仅对未启用的扩展程序返回此值。
 - 
    name
string
扩展程序、应用或主题的名称。
 - 
    offlineEnabled
布尔值
扩展程序、应用或主题是否声明支持离线功能。
 - 
    optionsUrl
string
项目选项页面的网址(如有)。
 - 
    permissions
string[]
返回基于 API 的权限列表。
 - 
    shortName
string
扩展程序、应用或主题的简称。
 - 
    type
扩展程序、应用或主题的类型。
 - 
    updateUrl
字符串 可选
扩展程序、应用或主题的更新网址。
 - 
    version
string
扩展程序、应用或主题的版本。
 - 
    versionName
字符串 可选
Chrome 50 及更高版本扩展程序、应用或主题的版本名称(如清单中已指定)。
 
ExtensionInstallType
扩展程序的安装方式。可能值包括
admin:因管理政策而安装;
development:在开发者模式下以解压方式加载;
normal:通过 .crx 文件正常安装;
sideload:由机器上的其他软件安装;
other:通过其他方式安装。
枚举
"admin" 
 
"development" 
 
"normal" 
 
"sideload" 
 
"other" 
 
ExtensionType
扩展程序、应用或主题的类型。
枚举
"extension" 
 
"hosted_app" 
 
"packaged_app" 
 
"legacy_packaged_app" 
 
"theme" 
 
"login_screen_extension" 
 
IconInfo
有关扩展程序、应用或主题的图标信息。
属性
- 
    size
数值
表示图标宽度和高度的数字。可能的值包括(但不限于)128、48、24 和 16。
 - 
    url
string
图标图像的网址。如需显示图标的灰度版本(例如,指示扩展程序已禁用),可在网之后附加
?grayscale=true。 
LaunchType
以下是所有可能的应用启动类型。
枚举
"OPEN_AS_REGULAR_TAB" 
 
"OPEN_AS_PINNED_TAB" 
 
"OPEN_AS_WINDOW" 
 
"OPEN_FULL_SCREEN" 
 
UninstallOptions
处理扩展程序卸载的选项。
属性
- 
    showConfirmDialog
布尔值 (可选)
是否应提示用户显示确认卸载对话框。自行卸载时,默认值为 false。如果扩展程序卸载其他扩展程序,系统会忽略此参数,并始终显示对话框。
 
方法
createAppShortcut()
chrome.management.createAppShortcut(
id: string,
): Promise<void>
显示为应用创建快捷方式的选项。在 Mac 上仅支持为打包应用创建。
参数
- 
    id
string
应为
management.ExtensionInfo应用项中的 ID。 
返回
- 
            
Promise<void>
Chrome 88 及更高版本 
generateAppForLink()
chrome.management.generateAppForLink(
url: string,
title: string,
): Promise<ExtensionInfo>
为网址生成应用。返回生成的书签应用。
参数
- 
    url
string
网页的网址。网址的架构只能为“http”或“https”。
 - 
    title
string
生成的应用名称。
 
返回
- 
            
Promise<ExtensionInfo>
Chrome 88 及更高版本 
参数
- 
    id
string
management.ExtensionInfo项目的 ID。 
返回
- 
            
Promise<ExtensionInfo>
Chrome 88 及更高版本 
返回
- 
            
Promise<ExtensionInfo[]>
Chrome 88 及更高版本 
getPermissionWarningsById()
chrome.management.getPermissionWarningsById(
id: string,
): Promise<string[]>
返回指定扩展程序 ID 的权限警告列表。
参数
- 
    id
string
已安装的扩展程序 ID。
 
返回
- 
            
Promise<string[]>
Chrome 88 及更高版本 
getPermissionWarningsByManifest()
chrome.management.getPermissionWarningsByManifest(
manifestStr: string,
): Promise<string[]>
返回给定扩展程序清单字符串的权限警告列表。注意:使用此函数时,无需在清单中请求“管理”权限。
参数
- 
    manifestStr
string
扩展程序清单 JSON 字符串。
 
返回
- 
            
Promise<string[]>
Chrome 88 及更高版本 
getSelf()
chrome.management.getSelf(): Promise<ExtensionInfo>
返回有关调用扩展程序、应用或主题的信息。注意:使用此函数时,无需在清单中请求“管理”权限。
返回
- 
            
Promise<ExtensionInfo>
Chrome 88 及更高版本 
installReplacementWebApp()
chrome.management.installReplacementWebApp(): Promise<void>
启动清单中指定的 replacement_web_app。若未安装,提示用户安装。
返回
- 
            
Promise<void>
Chrome 88 及更高版本 
launchApp()
chrome.management.launchApp(
id: string,
): Promise<void>
启动应用。
参数
- 
    id
string
应用的扩展程序 ID。
 
返回
- 
            
Promise<void>
Chrome 88 及更高版本 
setEnabled()
chrome.management.setEnabled(
id: string,
enabled: boolean,
): Promise<void>
启用或停用应用或扩展程序。在大多数情况下,此函数必须在用户手势(如按钮的 onclick 处理程序)上下文中调用,并且可能会向用户展示原生确认界面以防止滥用。
参数
- 
    id
string
此值应为
management.ExtensionInfo中某个项目的 ID。 - 
    enabled
布尔值
项目应处于启用还是禁用状态。
 
返回
- 
            
Promise<void>
Chrome 88 及更高版本 
setLaunchType()
chrome.management.setLaunchType(
id: string,
launchType: LaunchType,
): Promise<void>
设置应用的启动类型。
参数
- 
    id
string
应为
management.ExtensionInfo应用项中的 ID。 - 
    launchType
目标启动类型。请务必检查并确保此启动类型位于
ExtensionInfo.availableLaunchTypes中,因为可用的启动类型因平台和配置而异。 
返回
- 
            
Promise<void>
Chrome 88 及更高版本 
uninstall()
chrome.management.uninstall(
id: string,
options?: UninstallOptions,
): Promise<void>
卸载当前安装式应用或扩展程序。注意:在用户未被授权卸载指定扩展程序/应用的受管理环境中,此功能将无法执行。若卸载失败(如用户取消对话框),系统将拒绝 promise 或回调将被调用,同时设置 runtime.lastError。
参数
- 
    id
string
此值应为
management.ExtensionInfo中某个项目的 ID。 - 
    options
 
返回
- 
            
Promise<void>
Chrome 88 及更高版本 
uninstallSelf()
chrome.management.uninstallSelf(
options?: UninstallOptions,
): Promise<void>
卸载调用扩展程序。注意:使用此函数时,无需在清单中请求“管理”权限。但若用户无法卸载指定的扩展程序/应用,此函数在受管理环境中将无法执行。
参数
- 
    options
 
返回
- 
            
Promise<void>
Chrome 88 及更高版本 
事件
onDisabled
chrome.management.onDisabled.addListener(
callback: function,
)
应用或扩展程序禁用时触发。
参数
- 
    callback
函数
callback参数如下所示:(info: ExtensionInfo) => void
- 
    info
 
 - 
    
 
onEnabled
chrome.management.onEnabled.addListener(
callback: function,
)
应用或扩展程序启用时触发。
参数
- 
    callback
函数
callback参数如下所示:(info: ExtensionInfo) => void
- 
    info
 
 - 
    
 
onInstalled
chrome.management.onInstalled.addListener(
callback: function,
)
应用或扩展程序安装完成时触发。
参数
- 
    callback
函数
callback参数如下所示:(info: ExtensionInfo) => void
- 
    info
 
 - 
    
 
onUninstalled
chrome.management.onUninstalled.addListener(
callback: function,
)
应用或扩展程序卸载完成时触发。
参数
- 
    callback
函数
callback参数如下所示:(id: string) => void
- 
    id
string
 
 -