chrome.management

说明

chrome.management API 提供了管理安装式应用和扩展程序的方式。

权限

management

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

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

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

类型

ExtensionDisabledReason

Chrome 44 及更高版本

项目被禁用的原因。

枚举

"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

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

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

  • updateUrl

    字符串 可选

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

  • version

    string

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

  • versionName

    字符串 可选

    Chrome 50 及更高版本

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

ExtensionInstallType

Chrome 44 及更高版本

扩展程序的安装方式。可能值包括 admin:因管理政策而安装; development:在开发者模式下以解压方式加载; normal:通过 .crx 文件正常安装; sideload:由机器上的其他软件安装; other:通过其他方式安装。

枚举

"admin"

"development"

"normal"

"sideload"

"other"

ExtensionType

Chrome 44 及更高版本

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

枚举

"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

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>

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

参数

  • string

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

  • string

    生成的应用名称。

返回

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

    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>

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

返回

installReplacementWebApp()

Chrome 77 及更高版本
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>

设置应用的启动类型。

参数

返回

  • 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

      string