在清单中声明 API 权限
若要使用大多数 chrome.*
API,扩展必须在清单的字段中声明其意向 permissions
。 扩展可以使用后面的表中的权限字符串声明权限,也可以使用模式来匹配类似的字符串。 如果扩展受到恶意软件的攻击,权限可帮助限制扩展。 在安装扩展之前或根据需要在运行时向用户显示某些权限,以征求其同意;这些是权限警告。
如果 API 要求你在清单中声明权限,请参阅该 API 的文档以了解所需的权限。 例如, “存储 API ”页描述如何声明 storage
权限。
下面是清单文件的权限部分的示例:
"permissions": [
"tabs",
"bookmarks",
"storage"
],
"optional_permissions": [
"unlimitedStorage"
],
"host_permissions": [
"http://www.blogger.com/",
"http://*.google.com/"
],
下表列出了要在清单中使用的当前可用权限字符串以及说明。
权限字符串 | 详细信息 |
---|---|
activeTab |
请求根据 activeTab 规范向扩展授予权限。 |
alarms |
向扩展授予对 API 的访问权限 chrome.alarms 。 |
background |
使 Microsoft Edge 提前启动并延迟关闭,以便扩展的生存期更长。 当任何已安装的扩展具有 background 权限时,Microsoft Edge 在用户登录到用户计算机时,以及在用户启动 Microsoft Edge 之前立即以不可见的方式运行。 该 background 权限还使 Microsoft Edge 继续运行,即使在其最后一个窗口关闭后,直到用户显式退出Microsoft Edge。 注意: 禁用的扩展被视为未安装它们。 应将 background 权限用于 后台脚本。 |
bookmarks |
向扩展授予对 API 的访问权限 chrome.bookmarks 。 |
browsingData |
向扩展授予对 API 的访问权限 chrome.browsingData 。 |
certificateProvider |
向扩展授予对 API 的访问权限 chrome.certificateProvider 。 |
clipboardRead |
如果扩展使用 document.execCommand('paste') ,则为 必需。 |
clipboardWrite |
指示扩展使用 document.execCommand('copy') 或 document.execCommand('cut') 。 |
contentSettings |
向扩展授予对 API 的访问权限 chrome.contentSettings 。 |
contextMenus |
向扩展授予对 API 的访问权限 chrome.contextMenus 。 |
cookies |
向扩展授予对 API 的访问权限 chrome.cookies 。 |
debugger |
向扩展授予对 API 的访问权限 chrome.debugger 。 |
declarativeContent |
向扩展授予对 API 的访问权限 chrome.declarativeContent 。 |
declarativeNetRequest |
向扩展授予对 API 的访问权限 chrome.declarativeNetRequest 。 允许扩展阻止和升级请求,而无需主机权限,但需要主机权限来重定向请求或修改标头。 |
declarativeNetRequestWithHostAccess |
向扩展授予对 API 的访问权限 chrome.declarativeNetRequest 。 始终需要对请求 URL 和发起程序具有主机权限才能对请求进行操作。 |
declarativeNetRequestFeedback |
向扩展授予对 API 中的 chrome.declarativeNetRequest 事件和方法的访问权限,这将返回有关匹配的声明性规则的信息。 |
declarativeWebRequest |
向扩展授予对 API 的访问权限 chrome.declarativeWebRequest 。 |
desktopCapture |
向扩展授予对 API 的访问权限 chrome.desktopCapture 。 |
documentScan |
向扩展授予对 API 的访问权限 chrome.documentScan 。 |
downloads |
向扩展授予对 API 的访问权限 chrome.downloads 。 |
enterprise.deviceAttributes |
向扩展授予对 API 的访问权限 chrome.enterprise.deviceAttributes 。 |
enterprise.hardwarePlatform |
向扩展授予对 API 的访问权限 chrome.enterprise.hardwarePlatform 。 |
enterprise.networkingAttributes |
向扩展授予对 API 的访问权限 chrome.enterprise.networkingAttributes 。 |
enterprise.platformKeys |
向扩展授予对 API 的访问权限 chrome.enterprise.platformKeys 。 |
experimental |
如果扩展使用任何 chrome.experimental.* API,则是必需的。 |
fileBrowserHandler |
向扩展授予对 API 的访问权限 chrome.fileBrowserHandler 。 |
fileSystemProvider |
向扩展授予对 API 的访问权限 chrome.fileSystemProvider 。 |
fontSettings |
向扩展授予对 API 的访问权限 chrome.fontSettings 。 |
geolocation |
允许扩展使用地理位置 API,而无需提示用户输入权限。 |
history |
向扩展授予对 API 的访问权限 chrome.history 。 |
identity |
向扩展授予对 API 的访问权限 chrome.identity 。 |
idle |
向扩展授予对 API 的访问权限 chrome.idle 。 |
loginState |
向扩展授予对 API 的访问权限 chrome.loginState 。 |
management |
向扩展授予对 API 的访问权限 chrome.management 。 |
nativeMessaging |
向扩展授予对本机消息传送 API 的访问权限。 |
notifications |
向扩展授予对 API 的访问权限 chrome.notifications 。 |
pageCapture |
向扩展授予对 API 的访问权限 chrome.pageCapture 。 |
platformKeys |
向扩展授予对 API 的访问权限 chrome.platformKeys 。 |
power |
向扩展授予对 API 的访问权限 chrome.power 。 |
printerProvider |
向扩展授予对 API 的访问权限 chrome.printerProvider 。 |
printing |
向扩展授予对 API 的访问权限 chrome.printing 。 |
printingMetrics |
向扩展授予对 API 的访问权限 chrome.printingMetrics 。 |
privacy |
向扩展授予对 API 的访问权限 chrome.privacy 。 |
processes |
向扩展授予对 API 的访问权限 chrome.processes 。 |
proxy |
向扩展授予对 API 的访问权限 chrome.proxy 。 |
scripting |
向扩展授予对 API 的访问权限 chrome.scripting 。 |
search |
向扩展授予对 API 的访问权限 chrome.search 。 |
sessions |
向扩展授予对 API 的访问权限 chrome.sessions 。 |
sidePanel |
向扩展授予对 API 的访问权限 chrome.sidePanel 。 请参阅 开发Microsoft Edge 边栏的扩展。 |
signedInDevices |
向扩展授予对 API 的访问权限 chrome.signedInDevices 。 |
storage |
向扩展授予对 API 的访问权限 chrome.storage 。 |
system.cpu |
向扩展授予对 API 的访问权限 chrome.system.cpu 。 |
system.display |
向扩展授予对 API 的访问权限 chrome.system.display 。 |
system.memory |
向扩展授予对 API 的访问权限 chrome.system.memory 。 |
system.storage |
向扩展授予对 API 的访问权限 chrome.system.storage 。 |
tabCapture |
向扩展授予对 API 的访问权限 chrome.tabCapture 。 |
tabGroups |
向扩展授予对 API 的访问权限 chrome.tabGroups 。 |
tabs |
向扩展授予对 选项卡 对象的特权字段的访问权限,这些字段可由多个 API 使用,包括 chrome.tabs 和 chrome.windows 。 在许多情况下,扩展不需要声明 tabs 权限即可使用这些 API。 |
topSites |
向扩展授予对 API 的访问权限 chrome.topSites 。 |
tts |
向扩展授予对 API 的访问权限 chrome.tts 。 |
ttsEngine |
向扩展授予对 API 的访问权限 chrome.ttsEngine 。 |
unlimitedStorage |
为存储客户端数据(例如数据库和本地存储文件)提供无限制的配额。 如果没有此权限,扩展限制为 5 MB 的本地存储。 此权限仅适用于 Web SQL 数据库和应用程序缓存 (请参阅问题 58985:无限制存储权限应应用于本地存储) 。 此权限当前不适用于通配符子域,例如 http://*.contoso.com 。 |
vpnProvider |
向扩展授予对 API 的访问权限 chrome.vpnProvider 。 |
wallpaper |
向扩展授予对 API 的访问权限 chrome.wallpaper 。 |
webNavigation |
向扩展授予对 API 的访问权限 chrome.webNavigation 。 |
webRequest |
向扩展授予对 API 的访问权限 chrome.webRequest 。 |
webRequestBlocking |
如果扩展使用 API 来阻止请求, chrome.webRequest 则是必需的。 |
注意
此页面的某些部分是根据 Google 创建和共享的作品所做的修改,并根据 Creative Commons Attribution 4.0 International License 中描述的条款使用。 原始页面位于此处。
本作品根据 Creative Commons Attribution 4.0 International License 获得许可。