chrome.management

说明

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

权限

management

清单

您必须声明“management”扩展程序清单中的权限,以使用管理功能 API。例如:

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

management.getPermissionWarningsByManifestmanagement.uninstallSelfmanagement.getSelf无需管理权限。

类型

ExtensionDisabledReason

Chrome 44 及更高版本

该项被停用的原因。

枚举

“未知”

"permissions_increase"

ExtensionInfo

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

属性

  • appLaunchUrl

    字符串(可选)

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

  • availableLaunchTypes

    LaunchType[] 可选

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

  • 说明

    字符串

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

  • disabledReason

    该项被停用的原因。

  • 已启用

    布尔值

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

  • homepageUrl

    字符串(可选)

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

  • hostPermissions

    字符串[]

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

  • 图标

    IconInfo[] 可选

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

  • id

    字符串

    扩展程序的唯一标识符。

  • installType

    扩展程序的安装方式。

  • isApp

    布尔值

    <ph type="x-smartling-placeholder"></ph> 已弃用

    请使用 management.ExtensionInfo.type

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

  • launchType

    LaunchType 可选

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

  • mayDisable

    布尔值

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

  • mayEnable

    布尔值(可选)

    Chrome 62 及更高版本

    用户是否可以启用此扩展程序。系统只会针对未启用的扩展程序返回此属性。

  • name

    字符串

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

  • offlineEnabled

    布尔值

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

  • optionsUrl

    字符串

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

  • 权限

    字符串[]

    返回基于 API 的权限的列表。

  • 简称

    字符串

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

  • 类型

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

  • updateUrl

    字符串(可选)

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

  • 版本

    字符串

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

  • versionName

    字符串(可选)

    Chrome 50 及更高版本

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

ExtensionInstallType

Chrome 44 及更高版本

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

枚举

“admin”

"开发"

“normal”

"sideload"

“其他”

ExtensionType

Chrome 44 及更高版本

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

枚举

“extension”

"managed_app"

&quot;packaged_app&quot;

&quot;legacy_packaged_app&quot;

“主题”

&quot;login_screen_extension&quot;

IconInfo

属于某个扩展程序、应用或主题背景的图标的相关信息。

属性

  • 大小

    number

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

  • 网址

    字符串

    此图标图片的网址。若要显示灰度版本的图标(例如,用于表示扩展程序已停用),请在网址后附加 ?grayscale=true

LaunchType

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

枚举

&quot;OPEN_AS_REGULAR_TAB&quot;

&quot;OPEN_AS_PINNED_TAB&quot;

“OPEN_AS_WINDOW”

“OPEN_FULL_SCREEN”

UninstallOptions

Chrome 88 及更高版本

用于处理扩展程序卸载的选项。

属性

  • showConfirmDialog

    布尔值(可选)

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

方法

createAppShortcut()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.createAppShortcut(
  id: string,
  callback?: function,
)

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

参数

  • id

    字符串

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

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.generateAppForLink(
  url: string,
  title: string,
  callback?: function,
)

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

参数

  • 字符串

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

  • 字符串

    生成的应用的名称。

  • 函数(可选)

    callback 参数如下所示:

    (result: ExtensionInfo) => void

返回

  • Promise&lt;ExtensionInfo&gt;

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

get()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.get(
  id: string,
  callback?: function,
)

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

参数

返回

  • Promise&lt;ExtensionInfo&gt;

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

getAll()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.getAll(
  callback?: function,
)

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

参数

返回

  • Promise&lt;ExtensionInfo[]&gt;

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

getPermissionWarningsById()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.getPermissionWarningsById(
  id: string,
  callback?: function,
)

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

参数

  • id

    字符串

    已安装的扩展程序的 ID。

  • callback

    函数(可选)

    callback 参数如下所示:

    (permissionWarnings: string[]) => void

    • permissionWarnings

      字符串[]

返回

  • Promise&lt;string[]&gt;

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

getPermissionWarningsByManifest()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.getPermissionWarningsByManifest(
  manifestStr: string,
  callback?: function,
)

返回指定扩展程序清单字符串的权限警告列表。注意:此函数无需请求“management”权限。

参数

  • manifestStr

    字符串

    扩展程序清单 JSON 字符串。

  • callback

    函数(可选)

    callback 参数如下所示:

    (permissionWarnings: string[]) => void

    • permissionWarnings

      字符串[]

返回

  • Promise&lt;string[]&gt;

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

getSelf()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.getSelf(
  callback?: function,
)

返回有关调用扩展程序、应用或主题的信息。注意:此函数无需请求“management”权限。

参数

返回

  • Promise&lt;ExtensionInfo&gt;

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

installReplacementWebApp()

<ph type="x-smartling-placeholder"></ph> 承诺 Chrome 77 及更高版本
chrome.management.installReplacementWebApp(
  callback?: function,
)

启动清单中指定的 Replace_web_app。如果用户尚未安装,则提示用户进行安装。

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

launchApp()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.launchApp(
  id: string,
  callback?: function,
)

启动应用。

参数

  • id

    字符串

    应用的扩展程序 ID。

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

setEnabled()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.setEnabled(
  id: string,
  enabled: boolean,
  callback?: function,
)

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

参数

  • id

    字符串

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

  • 已启用

    布尔值

    应启用或停用此项。

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

setLaunchType()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.setLaunchType(
  id: string,
  launchType: LaunchType,
  callback?: function,
)

设置应用的启动类型。

参数

  • id

    字符串

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

  • launchType

    目标启动类型。请务必检查并确保此启动类型位于 ExtensionInfo.availableLaunchTypes 中,因为可用的启动类型因平台和配置不同而异。

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

uninstall()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.uninstall(
  id: string,
  options?: UninstallOptions,
  callback?: function,
)

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

参数

返回

  • 承诺<void>

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

uninstallSelf()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.management.uninstallSelf(
  options?: UninstallOptions,
  callback?: function,
)

卸载发起调用的扩展程序。注意:此函数无需请求“management”权限。当系统不允许用户卸载指定的扩展程序/应用时,此函数在受管理环境中无法使用。

参数

  • 选项
  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 88 及更高版本

    只有 Manifest V3 及更高版本支持 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

      字符串