chrome.management

描述 chrome.management API 可以用来管理已经安装并且正在运行的扩展程序或应用,对于替代内建的“打开新的标签页”页面的扩展程序来说特别有用。
可用版本 从 Chrome 8 开始支持。
权限 "management"

清单文件

您必须在扩展程序的清单文件中声明 "management" 权限才能使用管理 API。例如:

      {
        "name": "我的扩展程序",
        ...
        "permissions": [
          "management"
        ],
        ...
      }

management.getPermissionWarningsByManifest management.uninstallSelf 不需要 "management" 权限。

摘要

类型
IconInfo
LaunchType
ExtensionInfo
方法
getAll chrome.management.getAll(function callback)
get chrome.management.get(string id, function callback)
getPermissionWarningsById chrome.management.getPermissionWarningsById(string id, function callback)
getPermissionWarningsByManifest chrome.management.getPermissionWarningsByManifest(string manifestStr, function callback)
setEnabled chrome.management.setEnabled(string id, boolean enabled, function callback)
uninstall chrome.management.uninstall(string id, object options, function callback)
uninstallSelf chrome.management.uninstallSelf(object options, function callback)
launchApp chrome.management.launchApp(string id, function callback)
createAppShortcut chrome.management.createAppShortcut(string id, function callback)
setLaunchType chrome.management.setLaunchType(string id, LaunchType launchType, function callback)
generateAppForLink chrome.management.generateAppForLink(string url, string title, function callback)
事件
onInstalled
onUninstalled
onEnabled
onDisabled

类型

IconInfo

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

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

string url

该图标图像的 URL。要显示一个灰度版本的图标(例如表示扩展程序已禁用),请在 URL 后附加 ?grayscale=true

LaunchType

从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容

包含所有可能的应用启动类型。
枚举
"OPEN_AS_REGULAR_TAB", "OPEN_AS_PINNED_TAB", "OPEN_AS_WINDOW", or "OPEN_FULL_SCREEN"

ExtensionInfo

已安装的扩展程序、应用或主题背景的有关信息。
属性
string id

扩展程序的唯一标识符。

string name

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

string shortName

从 Chrome 31 开始支持。

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

string description

从 Chrome 9 开始支持。

扩展程序、应用或主题背景的描述。

string version

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

boolean mayDisable

从 Chrome 12 开始支持。

用户是否能禁用或卸载该扩展程序。

boolean enabled

该扩展程序当前是否已启用。

enum of "unknown", or "permissions_increase" (可选)
disabledReason

从 Chrome 17 开始支持。

项目被禁用的原因。

boolean isApp

从 Chrome 33 开始弃用请使用 management.ExtensionInfo.type

如果是应用则为 true。

enum of "extension", "hosted_app", "packaged_app", "legacy_packaged_app", or "theme" type

从 Chrome 23 开始支持。

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

string (可选)
appLaunchUrl

用于执行的 URL(仅在应用中存在)。

string (可选)
homepageUrl

从 Chrome 11 开始支持。

该扩展程序、应用或主题背景的主页 URL。

string (可选)
updateUrl

从 Chrome 16 开始支持。

该扩展程序、应用或主题背景的更新 URL。

boolean offlineEnabled

从 Chrome 15 开始支持。

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

string optionsUrl

该项目的选项页面 URL(如果有的话)。

array of IconInfo (可选)
icons

图标信息列表。注意这只反映声明在清单文件中的信息,URL 指定的实际图像可能比声明的更大或更小,所以您引用这些图像时可能要考虑在 标签中显式使用 width 和 height 属性。有关更多细节,请参见清单文件:icons

array of string permissions

从 Chrome 9 开始支持。

返回 API 权限列表。

array of string hostPermissions

从 Chrome 9 开始支持。

返回主机权限列表。

enum of "admin", "development", "normal", "sideload", or "other" installType

从 Chrome 22 开始支持。

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

LaunchType (可选)
launchType

从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容

应用的启动类型(仅在应用中存在)。

array of LaunchType (可选)
availableLaunchTypes

从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容

注意:当前可用的启动类型(仅在应用中存在)。

方法

getAll

chrome.management.getAll(function callback)

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

参数
function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function(array of ExtensionInfo result) {...};
array of ExtensionInfo result

get

chrome.management.get(string id, function callback)

从 Chrome 9 开始支持。

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

参数
string id

来自 management.ExtensionInfo 项目的标识符。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function( ExtensionInfo result) {...};
ExtensionInfo result

getPermissionWarningsById

chrome.management.getPermissionWarningsById(string id, function callback)

从 Chrome 15 开始支持。

返回指定扩展程序标识符所对应的权限警告列表。

参数
string id

已安装的扩展程序的标识符。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function(array of string permissionWarnings) {...};
array of string permissionWarnings

getPermissionWarningsByManifest

chrome.management.getPermissionWarningsByManifest(string manifestStr, function callback)

从 Chrome 15 开始支持。

返回指定扩展程序清单文件字符串对应的权限警告列表。注意,这一函数不需要在清单文件中请求 "management"(管理)权限就可以使用。

参数
string manifestStr

扩展程序清单文件的 JSON 字符串。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function(array of string permissionWarnings) {...};
array of string permissionWarnings

setEnabled

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

启用或禁用一个应用或扩展程序。

参数
string id

该参数应该为来自 management.ExtensionInfo 项目的标识符。

boolean enabled

应该启用还是禁用该项目。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

uninstall

chrome.management.uninstall(string id, object options, function callback)

卸载当前已安装的某个应用或扩展程序。

参数
string id

该参数应该为来自 management.ExtensionInfo 项目的标识符。

object (可选)
options

从 Chrome 21 开始支持。

boolean (可选)
showConfirmDialog

是否显示确认卸载对话框提示用户,如果是卸载自己则默认为 false,如果扩展程序卸载其他扩展程序,则忽略该参数,始终显示对话框。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

uninstallSelf

chrome.management.uninstallSelf(object options, function callback)

从 Chrome 26 开始支持。

卸载调用该方法的扩展程序。注意,这一函数不需要在清单文件中请求 "management"(管理)权限就可以使用。

参数
object (可选)
options
boolean (可选)
showConfirmDialog

是否显示确认卸载对话框提示用户,默认为 false。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

launchApp

chrome.management.launchApp(string id, function callback)

运行一个应用。

参数
string id

应用的扩展程序标识符。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

createAppShortcut

chrome.management.createAppShortcut(string id, function callback)

从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容

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

参数
string id

从 Chrome 36 开始支持。

来自 management.ExtensionInfo 应用项目的 id 属性。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

setLaunchType

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

从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容

设置应用的启动类型。

参数
string id

该参数应该为 management.ExtensionInfo 应用项目中的 id 属性。

LaunchType launchType

启动类型。请始终记得要确保指定的启动类型在 ExtensionInfo.availableLaunchTypes 中,因为可用的启动类型在不同的平台和配置上会有变化。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};
chrome.management.generateAppForLink(string url, string title, function callback)

从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容

为 URL 生成应用,返回生成的书签应用。

参数

事件

onInstalled

安装应用或扩展程序时产生。

addListener

chrome.management.onInstalled.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( ExtensionInfo info) {...};
ExtensionInfo info

onUninstalled

应用或扩展程序卸载时产生。

addListener

chrome.management.onUninstalled.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(string id) {...};
string id

卸载的扩展程序、应用或主题背景的标识符。

onEnabled

应用或扩展程序启用时产生。

addListener

chrome.management.onEnabled.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( ExtensionInfo info) {...};
ExtensionInfo info

onDisabled

应用或扩展程序禁用时产生。

addListener

chrome.management.onDisabled.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( ExtensionInfo info) {...};
ExtensionInfo info

示例扩展程序

  • App Launcher – Get access to your apps in a browser action