chrome.management

说明

chrome.management API 提供了一些方法来管理已安装的应用和扩展程序。

权限

management

您必须在扩展程序清单中声明“管理”权限,才能使用 Management API。例如:

{
  "name": "My extension",
  ...
  "permissions": [
    "management"
  ],
  ...
}

management.getPermissionWarningsByManifest()management.uninstallSelf()management.getSelf() 不需要管理权限。

类型

ExtensionDisabledReason

Chrome 44 及更高版本

商品停用的原因。

枚举

“未知”

"permissions_increase"

ExtensionInfo

与已安装的扩展程序、应用或主题相关的信息。

属性

  • appLaunchUrl

    字符串(选填)

    启动网址(仅适用于应用)。

  • availableLaunchTypes

    LaunchType[] 可选

    当前可用的启动类型(仅适用于应用)。

  • 说明

    字符串

    相应扩展程序、应用或主题的说明。

  • disabledReason

    商品停用的原因。

  • 已启用

    布尔值

    当前处于启用还是停用状态。

  • homepageUrl

    字符串(选填)

    相应扩展程序、应用或主题背景的首页网址。

  • hostPermissions

    字符串[]

    返回基于主机的权限的列表。

  • 图标

    IconInfo[] 可选

    图标信息列表。请注意,这仅反映了清单中声明的内容,相应网址处的实际图片可能大于或小于声明的大小,因此您不妨考虑在引用这些图片的 img 标记上使用明确的宽度和高度属性。如需了解详情,请参阅有关图标的清单文档

  • id

    字符串

    扩展程序的唯一标识符。

  • installType

    扩展程序的安装方式。

  • isApp

    布尔值

    已弃用

    请使用 management.ExtensionInfo.type

    如果这是应用,则为 True。

  • launchType

    LaunchType 可选

    应用启动类型(仅适用于应用)。

  • mayDisable

    布尔值

    用户是否可以停用或卸载此扩展程序。

  • mayEnable

    布尔值(可选)

    Chrome 62 及更高版本

    相应扩展程序是否可由用户启用。仅针对未启用的扩展服务返回此值。

  • name

    字符串

    相应扩展程序、应用或主题背景的名称。

  • offlineEnabled

    布尔值

    扩展程序、应用或主题背景是否声明支持离线。

  • optionsUrl

    字符串

    商品的选项页面的网址(如果有)。

  • 权限

    字符串[]

    返回基于 API 的权限列表。

  • shortName

    字符串

    相应扩展程序、应用或主题背景的简称。

  • 类型

    相应扩展程序、应用或主题的类型。

  • updateUrl

    字符串(选填)

    相应扩展程序、应用或主题的更新网址。

  • 版本

    字符串

    相应扩展程序、应用或主题的版本

  • versionName

    字符串(选填)

    Chrome 50 及更高版本

    相应扩展程序、应用或主题背景的版本名称(如果清单中指定了版本名称)。

ExtensionInstallType

Chrome 44 及更高版本

扩展程序的安装方式。以下值之一:admin:扩展程序是因管理政策而安装的;development:扩展程序在开发者模式下以未打包的形式加载;normal:扩展程序是通过 .crx 文件正常安装的;sideload:扩展程序是由计算机上的其他软件安装的;other:扩展程序是通过其他方式安装的。

枚举

“admin”

“开发”

“normal”

“旁加载”

“其他”

ExtensionType

Chrome 44 及更高版本

相应扩展程序、应用或主题的类型。

枚举

“扩展程序”

“hosted_app”

"packaged_app"

"legacy_packaged_app"

“主题”

"login_screen_extension"

IconInfo

有关扩展程序、应用或主题背景的图标的信息。

属性

  • size

    数值

    表示图标宽度和高度的数字。可能的值包括(但不限于)128、48、24 和 16。

  • 网址

    字符串

    相应图标图片的网址。如需显示图标的灰度版本(例如,指示扩展程序已停用),请将 ?grayscale=true 附加到网址。

LaunchType

以下是所有可能的应用启动类型。

枚举

"OPEN_AS_REGULAR_TAB"

"OPEN_AS_PINNED_TAB"

"OPEN_AS_WINDOW"

"OPEN_FULL_SCREEN"

UninstallOptions

Chrome 88 及更高版本

用于指定如何处理扩展程序卸载的选项。

属性

  • showConfirmDialog

    布尔值(可选)

    是否应提示用户显示确认卸载对话框。对于自行卸载,默认值为 false。如果某个扩展程序卸载了另一个扩展程序,系统会忽略此参数,并始终显示对话框。

方法

createAppShortcut()

chrome.management.createAppShortcut(
  id: string,
)
: Promise<void>

显示用于为应用创建快捷方式的选项。在 Mac 上,只能创建打包应用的快捷方式。

参数

返回

  • Promise<void>

    Chrome 88 及更高版本
chrome.management.generateAppForLink(
  url: string,
  title: string,
)
: Promise<ExtensionInfo>

为网址生成应用。返回生成的书签应用。

参数

  • 字符串

    网页的网址。网址的架构只能是“http”或“https”。

  • 字符串

    生成的应用的名称。

返回

get()

chrome.management.get(
  id: string,
)
: Promise<ExtensionInfo>

返回有关具有指定 ID 的已安装扩展程序、应用或主题背景的信息。

参数

返回

getAll()

chrome.management.getAll(): Promise<ExtensionInfo[]>

返回有关已安装的扩展程序和应用的列表信息。

返回

getPermissionWarningsById()

chrome.management.getPermissionWarningsById(
  id: string,
)
: Promise<string[]>

返回指定扩展程序 ID 的权限警告列表。

参数

  • id

    字符串

    已安装的扩展程序的 ID。

返回

  • Promise<string[]>

    Chrome 88 及更高版本

getPermissionWarningsByManifest()

chrome.management.getPermissionWarningsByManifest(
  manifestStr: string,
)
: Promise<string[]>

针对给定的扩展程序清单字符串返回权限警告列表。注意:使用此函数时,无需在清单中请求“管理”权限。

参数

  • manifestStr

    字符串

    扩展程序清单 JSON 字符串。

返回

  • Promise<string[]>

    Chrome 88 及更高版本

getSelf()

chrome.management.getSelf(): Promise<ExtensionInfo>

返回有关调用扩展程序、应用或主题背景的信息。注意:使用此函数时,无需在清单中请求“管理”权限。

返回

installReplacementWebApp()

Chrome 77 及更高版本
chrome.management.installReplacementWebApp(): Promise<void>

启动清单中指定的 replacement_web_app。提示用户安装(如果尚未安装)。

返回

  • Promise<void>

    Chrome 88 及更高版本

launchApp()

chrome.management.launchApp(
  id: string,
)
: Promise<void>

启动应用。

参数

  • id

    字符串

    应用的扩展程序 ID。

返回

  • Promise<void>

    Chrome 88 及更高版本

setEnabled()

chrome.management.setEnabled(
  id: string,
  enabled: boolean,
)
: Promise<void>

启用或停用应用或扩展程序。在大多数情况下,此函数必须在用户手势(例如按钮的 onclick 处理程序)的上下文中调用,并且可能会向用户显示原生确认界面,以防止滥用。

参数

  • id

    字符串

    此值应为 management.ExtensionInfo 中某个商品的 ID。

  • 已启用

    布尔值

    相应商品应处于启用还是停用状态。

返回

  • Promise<void>

    Chrome 88 及更高版本

setLaunchType()

chrome.management.setLaunchType(
  id: string,
  launchType: LaunchType,
)
: Promise<void>

设置应用的发布类型。

参数

返回

  • Promise<void>

    Chrome 88 及更高版本

uninstall()

chrome.management.uninstall(
  id: string,
  options?: UninstallOptions,
)
: Promise<void>

卸载当前已安装的应用或扩展程序。注意:如果用户无法卸载指定的扩展程序/应用,此函数在受管理的环境中将无法正常运行。如果卸载失败(例如,用户取消了对话框),系统将拒绝 promise 或调用回调并设置 runtime.lastError

参数

返回

  • Promise<void>

    Chrome 88 及更高版本

uninstallSelf()

chrome.management.uninstallSelf(
  options?: UninstallOptions,
)
: Promise<void>

卸载通话扩展服务。注意:使用此函数时,无需在清单中请求“管理”权限。如果用户无法卸载指定的扩展程序/应用,此函数在受管环境中将无法正常运行。

参数

返回

  • Promise<void>

    Chrome 88 及更高版本

事件

onDisabled

chrome.management.onDisabled.addListener(
  callback: function,
)

当应用或扩展程序被停用时触发。

参数

onEnabled

chrome.management.onEnabled.addListener(
  callback: function,
)

在应用或扩展程序已启用时触发。

参数

onInstalled

chrome.management.onInstalled.addListener(
  callback: function,
)

在应用或扩展程序安装完毕后触发。

参数

onUninstalled

chrome.management.onUninstalled.addListener(
  callback: function,
)

在应用或扩展程序被卸载时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (id: string) => void

    • id

      字符串