Чтобы использовать большинство API-интерфейсов chrome.*, ваше расширение или приложение должно объявить о своем намерении в поле «разрешения» манифеста . Каждое разрешение может быть либо одним из списка известных строк (например, «геолокация»), либо шаблоном соответствия , который предоставляет доступ к одному или нескольким хостам. Разрешения помогают ограничить ущерб, если ваше расширение или приложение заражено вредоносным ПО. Некоторые разрешения также отображаются пользователям перед установкой, как подробно описано в разделе «Предупреждения о разрешениях» .
Если API требует от вас объявить разрешение в манифесте, то в его документации указано, как это сделать. Например, на странице «Хранилище» показано, как объявить разрешение «хранилище».
Вот пример части разрешений файла манифеста:
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/",
"unlimitedStorage"
],
В следующей таблице перечислены доступные на данный момент разрешения:
Разрешение | Описание |
---|---|
"activeTab" | Запрашивает, чтобы расширению были предоставлены разрешения в соответствии со спецификацией activeTab . |
"alarms" | Предоставляет вашему расширению доступ к API chrome.alarms . |
"background" | Заставляет Chrome запускаться раньше и завершать работу позже, чтобы приложения и расширения работали дольше. Если любое установленное размещенное приложение, упакованное приложение или расширение имеет «фоновое» разрешение, Chrome запускается (незаметно), как только пользователь входит в свой компьютер — до того, как пользователь запустит Chrome. «Фоновое» разрешение также позволяет Chrome продолжать работу (даже после закрытия его последнего окна), пока пользователь явно не выйдет из Chrome. Примечание. Отключенные приложения и расширения обрабатываются так, как будто они не установлены. Обычно вы используете «фоновое» разрешение для фоновой страницы , страницы событий или (для размещенных приложений) фонового окна . |
"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 . |
"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" | Обязательно, если расширение или приложение использует API chrome.experimental.* . |
"fileBrowserHandler" | Предоставляет вашему расширению доступ к API chrome.fileBrowserHandler . |
"fileSystemProvider" | Предоставляет вашему расширению доступ к API chrome.fileSystemProvider . |
"fontSettings" | Предоставляет вашему расширению доступ к API chrome.fontSettings . |
"gcm" | Предоставляет вашему расширению доступ к API chrome.gcm . |
"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 . |
"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" | Предоставляет вашему расширению доступ к привилегированным полям объектов Tab , используемых несколькими API, включая chrome.tabs и chrome.windows . Во многих случаях вашему расширению не потребуется объявлять разрешение "tabs" для использования этих API. |
"topSites" | Предоставляет вашему расширению доступ к API chrome.topSites . |
"tts" | Предоставляет вашему расширению доступ к API chrome.tts . |
"ttsEngine" | Предоставляет вашему расширению доступ к API chrome.ttsEngine . |
"unlimitedStorage" | Предоставляет неограниченную квоту для хранения данных на стороне клиента, таких как базы данных и файлы локального хранилища. Без этого разрешения расширение или приложение ограничено 5 МБ локального хранилища. Примечание. Это разрешение применяется только к базе данных веб-SQL и кэшу приложений (см. проблему 58985 ). Кроме того, в настоящее время он не работает с поддоменами с подстановочными знаками, такими как http://*.example.com . |
"vpnProvider" | Предоставляет вашему расширению доступ к API chrome.vpnProvider . |
"wallpaper" | Предоставляет вашему расширению доступ к API chrome.wallpaper . |
"webNavigation" | Предоставляет вашему расширению доступ к API chrome.webNavigation . |
"webRequest" | Предоставляет вашему расширению доступ к API chrome.webRequest . |
"webRequestBlocking" | Требуется, если расширение использует API chrome.webRequest в режиме блокировки. |