如需使用大多数 chrome.* API,您的扩展程序或应用必须在清单的“permissions”字段中声明其意图。每项权限可以是已知字符串列表中的一个(例如“geolocation”),也可以是授予对一个或多个主机的访问权限的匹配模式。如果您的扩展程序或应用遭到恶意软件入侵,权限有助于限制损害。有些权限也会在安装前向用户显示,如权限警告中所述。
如果某个 API 要求您在清单中声明权限,其文档会说明如何执行此操作。例如,存储页面会说明如何声明“存储”权限。
以下是清单文件的权限部分示例:
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/",
"unlimitedStorage"
],
下表列出了当前可用的权限:
| 权限 | 说明 |
|---|---|
"activeTab" |
请求根据 activeTab 规范向扩展程序授予权限。 |
"alarms" |
向您的扩展程序授予对 chrome.alarms API 的访问权限。 |
"background" |
使 Chrome 提早启动并延迟关闭,以便应用和扩展程序可以运行更长时间。 当任何已安装的托管应用、封装应用或扩展程序具有“后台”权限时,Chrome 会在用户登录其计算机后立即(隐形)运行,而无需用户启动 Chrome。“background”权限还会使 Chrome 持续运行(即使在最后一个窗口关闭后),直到用户明确退出 Chrome。 注意:已停用的应用和扩展程序会被视为未安装。
|
"bookmarks" |
让您的扩展程序可以访问 chrome.bookmarks API。 |
"browsingData" |
让您的扩展程序可以访问 chrome.browsingData API。 |
"certificateProvider" |
让您的扩展程序能够访问 chrome.certificateProvider API。 |
"clipboardRead" |
如果扩展程序或应用使用 document.execCommand('paste'),则此属性为必需属性。 |
"clipboardWrite" |
指明扩展程序或应用使用 document.execCommand('copy') 或 document.execCommand('cut')。此权限对于托管应用是必需的,对于扩展程序和打包应用是推荐的。 |
"contentSettings" |
授予您的扩展程序对 chrome.contentSettings API 的访问权限。 |
"contextMenus" |
授予您的扩展程序对 chrome.contextMenus API 的访问权限。 |
"cookies" |
让您的扩展程序可以访问 chrome.cookies API。 |
"debugger" |
向您的扩展程序授予对 chrome.debugger API 的访问权限。 |
"declarativeContent" |
向您的扩展程序授予对 chrome.declarativeContent API 的访问权限。 |
"declarativeNetRequest" |
让您的扩展程序能够访问 chrome.declarativeNetRequest API。 |
"declarativeNetRequestFeedback" |
向扩展程序授予对 chrome.declarativeNetRequest API 中事件和方法的访问权限,这些事件和方法会返回有关匹配的声明式规则的信息。 |
"declarativeWebRequest" |
让您的扩展程序可以访问 chrome.declarativeWebRequest API。 |
"desktopCapture" |
让您的扩展程序有权访问 chrome.desktopCapture API。 |
"documentScan" |
让您的扩展程序能够访问 chrome.documentScan API。 |
"downloads" |
让您的扩展程序可以访问 chrome.downloads API。 |
"enterprise.deviceAttributes" |
让您的扩展程序可以访问 chrome.enterprise.deviceAttributes API。 |
"enterprise.hardwarePlatform" |
让您的扩展程序可以访问 chrome.enterprise.hardwarePlatform API。 |
"enterprise.networkingAttributes" |
让您的扩展程序可以访问 chrome.enterprise.networkingAttributes API。 |
"enterprise.platformKeys" |
让您的扩展程序可以访问 chrome.enterprise.platformKeys API。 |
"experimental" |
如果扩展程序或应用使用任何 chrome.experimental.* API。 |
"fileBrowserHandler" |
让您的扩展程序能够访问 chrome.fileBrowserHandler API。 |
"fileSystemProvider" |
让您的扩展程序可以访问 chrome.fileSystemProvider API。 |
"fontSettings" |
让您的扩展程序可以访问 chrome.fontSettings API。 |
"gcm" |
向您的扩展程序授予对 chrome.gcm API 的访问权限。 |
"geolocation" |
允许扩展程序或应用使用地理定位 API,而无需提示用户授予权限。 |
"history" |
向您的扩展程序授予对 chrome.history API 的访问权限。 |
"identity" |
让您的扩展程序能够访问 chrome.identity API。 |
"idle" |
让您的扩展程序可以访问 chrome.idle API。 |
"loginState" |
让您的扩展程序可以访问 chrome.loginState API。 |
"management" |
向您的扩展程序授予对 chrome.management API 的访问权限。 |
"nativeMessaging" |
让您的扩展程序可以访问原生消息传递 API。 |
"notifications" |
向您的扩展程序授予对 chrome.notifications API 的访问权限。 |
"pageCapture" |
让您的扩展程序有权访问 chrome.pageCapture API。 |
"platformKeys" |
让您的扩展程序可以访问 chrome.platformKeys API。 |
"power" |
让您的扩展程序有权访问 chrome.power API。 |
"printerProvider" |
让您的扩展程序能够访问 chrome.printerProvider API。 |
"printing" |
让您的扩展程序可以访问 chrome.printing API。 |
"printingMetrics" |
让您的扩展程序可以访问 chrome.printingMetrics API。 |
"privacy" |
让您的扩展程序可以访问 chrome.privacy API。 |
"processes" |
让您的扩展程序可以访问 chrome.processes API。 |
"proxy" |
让您的扩展程序可以访问 chrome.proxy API。 |
"scripting" |
向您的扩展程序授予对 chrome.scripting API 的访问权限。 |
"search" |
让您的扩展程序能够访问 chrome.search API。 |
"sessions" |
向您的扩展程序授予对 chrome.sessions API 的访问权限。 |
"signedInDevices" |
让您的扩展程序有权访问 chrome.signedInDevices API。 |
"storage" |
向您的扩展程序授予对 chrome.storage API 的访问权限。 |
"system.cpu" |
向您的扩展程序授予对 chrome.system.cpu API 的访问权限。 |
"system.display" |
向您的扩展程序授予对 chrome.system.display API 的访问权限。 |
"system.memory" |
让您的扩展程序有权访问 chrome.system.memory API。 |
"system.storage" |
让您的扩展程序有权访问 chrome.system.storage API。 |
"tabCapture" |
向您的扩展程序授予对 chrome.tabCapture API 的访问权限。 |
"tabGroups" |
向您的扩展程序授予对 chrome.tabGroups API 的访问权限。 |
"tabs" |
让您的扩展程序能够访问多个 API(包括 chrome.tabs 和 chrome.windows)使用的 Tab 对象的特权字段。在许多情况下,您的扩展程序无需声明 "tabs" 权限即可使用这些 API。 |
"topSites" |
向您的扩展程序授予对 chrome.topSites API 的访问权限。 |
"tts" |
向您的扩展程序授予对 chrome.tts API 的访问权限。 |
"ttsEngine" |
让您的扩展程序可以访问 chrome.ttsEngine API。 |
"unlimitedStorage" |
为存储客户端数据(例如数据库和本地存储文件)提供无限配额。
如果没有此权限,扩展程序或应用最多只能使用 5 MB 的本地存储空间。 注意:此权限仅适用于 Web SQL 数据库和应用缓存(请参阅问题 58985)。此外,它目前不适用于通配符子网域,例如
http://*.example.com。 |
"vpnProvider" |
让您的扩展程序有权访问 chrome.vpnProvider API。 |
"webNavigation" |
让您的扩展程序可以访问 chrome.webNavigation API。 |
"webRequest" |
让您的扩展程序能够访问 chrome.webRequest API。 |
"webRequestBlocking" |
如果扩展程序以阻塞方式使用 chrome.webRequest API,则必须提供此字段。 |