在扩展清单中声明 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.tabschrome.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 署名 4.0 国际许可中所述的条款使用。 原始页面 在此处找到。

Creative Commons 许可证 此作品根据 Creative Commons 署名 4.0 国际许可获得许可

另请参阅