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[] 可选

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

  • 说明

    string

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

  • disabledReason

    产品停用的原因。

  • 已启用

    boolean

    当前已启用还是已停用。

  • homepageUrl

    字符串(可选)

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

  • hostPermissions

    字符串[]

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

  • 图标

    IconInfo[] 可选

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

  • id

    string

    扩展程序的唯一标识符。

  • installType

    扩展程序的安装方式。

  • isApp

    boolean

    已废弃

    请使用 management.ExtensionInfo.type

    如果这是一个应用,则为 True。

  • launchType

    LaunchType 可选

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

  • mayDisable

    boolean

    用户能否停用或卸载此扩展程序。

  • mayEnable

    布尔值 选填

    Chrome 62 及更高版本

    用户是否可以启用此扩展程序。仅会针对未启用的扩展程序返回此值。

  • name

    string

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

  • offlineEnabled

    boolean

    扩展程序、应用或主题是否声明其支持离线功能。

  • optionsUrl

    string

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

  • 权限

    字符串[]

    返回基于 API 的权限列表。

  • shortName

    string

    此扩展程序、应用或主题的名称的简短版本。

  • 类型

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

  • updateUrl

    字符串(可选)

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

  • 版本

    string

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

  • versionName

    字符串(可选)

    Chrome 50 及更高版本

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

ExtensionInstallType

Chrome 44 及更高版本

扩展程序的安装方式。以下项之一:admin:扩展程序是根据管理政策安装的; development:扩展程序是在开发者模式下解压缩; normal:扩展程序是通过 .crx 文件正常安装的; sideload:扩展程序是通过计算机上的其他软件安装的; other:扩展程序是通过其他方式安装的。

枚举

"normal"

"sideload"

ExtensionType

Chrome 44 及更高版本

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

枚举

"packaged_app"

"legacy_packaged_app"

"login_screen_extension"

IconInfo

属于扩展程序、应用或主题的图标的信息。

属性

  • 大小

    number

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

  • 网址

    string

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

LaunchType

这些都是可能的应用启动类型。

枚举

"OPEN_AS_REGULAR_TAB"

"OPEN_AS_WINDOW"

UninstallOptions

Chrome 88 及更高版本

有关如何处理扩展程序卸载事宜的选项。

属性

  • showConfirmDialog

    布尔值 选填

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

方法

createAppShortcut()

Promise
chrome.management.createAppShortcut(
  id: string,
  callback?: function,
)

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

参数

  • id

    string

    此 ID 应该是 management.ExtensionInfo 的应用项的 ID。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

Promise
chrome.management.generateAppForLink(
  url: string,
  title: string,
  callback?: function,
)

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

参数

  • string

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

  • string

    生成的应用的名称。

  • 函数(可选)

    callback 参数如下所示:

    (result: ExtensionInfo)=>void

返回

  • Promise<ExtensionInfo>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

get()

Promise
chrome.management.get(
  id: string,
  callback?: function,
)

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

参数

返回

  • Promise<ExtensionInfo>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getAll()

Promise
chrome.management.getAll(
  callback?: function,
)

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

参数

返回

  • Promise<ExtensionInfo[]>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getPermissionWarningsById()

Promise
chrome.management.getPermissionWarningsById(
  id: string,
  callback?: function,
)

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

参数

  • id

    string

    已安装的扩展程序的 ID。

  • callback

    函数(可选)

    callback 参数如下所示:

    (permissionWarnings: string[])=>void

    • permissionWarnings

      字符串[]

返回

  • Promise<string[]>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getPermissionWarningsByManifest()

Promise
chrome.management.getPermissionWarningsByManifest(
  manifestStr: string,
  callback?: function,
)

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

参数

  • manifestStr

    string

    扩展程序清单 JSON 字符串。

  • callback

    函数(可选)

    callback 参数如下所示:

    (permissionWarnings: string[])=>void

    • permissionWarnings

      字符串[]

返回

  • Promise<string[]>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

getSelf()

Promise
chrome.management.getSelf(
  callback?: function,
)

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

参数

返回

  • Promise<ExtensionInfo>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

installReplacementWebApp()

Promise Chrome 77 及更高版本
chrome.management.installReplacementWebApp(
  callback?: function,
)

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

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

launchApp()

Promise
chrome.management.launchApp(
  id: string,
  callback?: function,
)

启动应用。

参数

  • id

    string

    应用的扩展程序 ID。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

setEnabled()

Promise
chrome.management.setEnabled(
  id: string,
  enabled: boolean,
  callback?: function,
)

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

参数

  • id

    string

    此 ID 应该是 management.ExtensionInfo 的商品的 ID。

  • 已启用

    boolean

    此项内容应启用还是停用。

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

setLaunchType()

Promise
chrome.management.setLaunchType(
  id: string,
  launchType: LaunchType,
  callback?: function,
)

设置应用的启动类型。

参数

返回

  • Promise<void>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

uninstall()

Promise
chrome.management.uninstall(
  id: string,
  options?: UninstallOptions,
  callback?: function,
)

卸载当前已安装的应用或扩展程序。注意:当系统不允许用户卸载指定的扩展程序/应用时,此函数在受管理环境中不起作用。如果卸载失败(例如用户取消对话框),则 promise 会被拒绝,或者调用回调函数并设置 runtime.lastError

参数

返回

  • Promise<void>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

uninstallSelf()

Promise
chrome.management.uninstallSelf(
  options?: UninstallOptions,
  callback?: function,
)

卸载通话扩展程序。注意:此函数无需在清单中请求“管理”权限即可使用。当不允许用户卸载指定的扩展程序/应用时,此函数在受管理环境中不起作用。

参数

  • 选项
  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 88 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

活动

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