дополнительные разрешения
| Тип | Array |
|---|---|
| Обязательное | Нет |
| Версия манифеста | 2 или выше |
| Пример | "optional_permissions": [ "webRequest" ] |
Используйте ключ optional_permissions для перечисления разрешений, которые вы хотите запросить во время выполнения после установки расширения.
Ключ permissions перечисляет разрешения, необходимые расширению для установки. В отличие от этого, optional_permissions перечисляет разрешения, которые расширение не требует при установке, но может запросить после установки. Для запроса разрешения используйте API permissions. Запрос разрешения может отобразить диалоговое окно, в котором пользователя попросят предоставить разрешение вашему расширению.
Советы по проектированию запроса на разрешения во время выполнения, чтобы увеличить вероятность их предоставления пользователем, см. в разделе Запрашивать разрешения во время выполнения.
Начиная с Firefox 84, пользователи смогут управлять дополнительными разрешениями из менеджера расширений Firefox. Расширения, использующие дополнительные разрешения, должны отслеживать события API browser.permissions.onAdded и browser.permissions.onRemoved, чтобы знать, когда пользователь предоставляет или отменяет эти разрешения.
Ключ может содержать два вида разрешений: разрешения на хостинг и разрешения на API.
Разрешения на хостинг
Эти разрешения аналогичны разрешениям на хостинг, которые можно указать в ключе permissions.
Примечание: При использовании манифеста V3 или выше:
- в Chrome разрешения на хостинг должны быть указаны в ключе манифеста
host_permission. - в Firefox во время предварительного просмотра манифеста V3 хосты могут быть указаны в
host_permissionsилиoptional_permissions. Подлежит завершению ошибка 1766026, хосты будут указаны вhost_permissionsилиoptional_host_permissions.
Разрешения на API
Вы можете включить любое из следующих разрешений, но не во всех браузерах: см. таблицу совместимости для получения подробностей, специфичных для браузера.
activeTabbackgroundbookmarksbrowserSettingsclipboardReadclipboardWritecontentSettingscontextMenuscookiesdebuggerdownloadsdownloads.openfindgeolocationhistoryidlemanagementnativeMessagingnotificationspageCaptureprivacy-
scripting(Манифест V3 или выше) tabHidetabstopSiteswebNavigationwebRequestwebRequestBlockingwebRequestFilterResponsewebRequestFilterResponse.serviceWorkerScript
Обратите внимание, что это подмножество разрешений API, разрешенных в permissions.
Из этого набора следующие разрешения предоставляются без запроса у пользователя:
activeTabcookiesidlewebRequestwebRequestBlockingwebRequestFilterResponsewebRequestFilterResponse.serviceWorkerScript
Пример
"optional_permissions": ["*://developer.mozilla.org/*"]
В манифесте V2 включите расширение для запроса привилегированного доступа к страницам developer.mozilla.org.
"optional_permissions": ["tabs"]
Включите расширение для запроса доступа к привилегированным частям API tabs.
"optional_permissions": ["*://developer.mozilla.org/*", "tabs"]
Только в манифесте V2 включите расширение для запроса обоих вышеуказанных разрешений.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
optional_permissions |
Да | 79 | 55 | ? | Да | 14 | ? | ? | 55 | ? | 15 | ? |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
activeTab |
Нет | Нет | 55 | ? | Нет | 14 | ? | ? | 55 | ? | 15 | ? |
background |
Да | 79 | Нет | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
bookmarks |
Да | 79 | 55 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
browserSettings |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | 57 | ? | Нет | ? |
browsingData |
Нет | Нет | 77 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
clipboardRead |
Да | 79 | 55 | ? | Да | Нет | ? | ? | 55 | ? | Нет | ? |
clipboardWrite |
Да | 79 | 55 | ? | Да | 14 | ? | ? | 55 | ? | 15 | ? |
contentSettings |
Да | 79 | Нет | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
contextMenus |
Да | 79 | Нет | ? | Да | 14 | ? | ? | Нет | ? | Нет | ? |
cookies |
Да | 79 | 55 | ? | Да | 14 | ? | ? | 55 | ? | 15 | ? |
debugger |
Да | 79 | Нет | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
downloads |
Нет | Нет | 60 | ? | Нет | Нет | ? | ? | 60 | ? | Нет | ? |
downloads_open |
Нет | Нет | 60 | ? | Нет | Нет | ? | ? | 60 | ? | Нет | ? |
find |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
geolocation |
Нет | Нет | 55 | ? | Нет | Нет | ? | ? | 55 | ? | Нет | ? |
history |
Да | 79 | 55 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
idle |
Да | 79 | 55 | ? | Да | Нет | ? | ? | 55 | ? | Нет | ? |
management |
Да | 79 | 77 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
nativeMessaging |
Нет | Нет | 87 | ? | Нет | 14 | ? | ? | Нет | ? | 15 | ? |
notifications |
Да | 79 | 55 | ? | Да | Нет | ? | ? | 55 | ? | Нет | ? |
pageCapture |
Да | 79 | Нет | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
pkcs11 |
Нет | Нет | 77 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
privacy |
Да | 79 | 75 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
proxy |
Нет | Нет | 77 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
sessions |
Нет | Нет | 77 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
tabHide |
Нет | Нет | 61 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
tabs |
Да | 79 | 55 | ? | Да | 14 | ? | ? | 55 | ? | 15 | ? |
topSites |
Да | 79 | 55 | ? | Да | Нет | ? | ? | 55 | ? | Нет | ? |
webNavigation |
Да | 79 | 55 | ? | Да | 14 | ? | ? | 55 | ? | 15 | ? |
webRequest |
Да | 79 | 55 | ? | Да | 14 | ? | ? | 55 | ? | Нет | ? |
webRequestBlocking |
Да | 79 | 55 | ? | Да | Нет | ? | ? | 55 | ? | Нет | ? |
webRequestFilterResponse |
Нет | Нет | 110 | ? | Нет | Нет | ? | ? | 110 | ? | Нет | ? |
webRequestFilterResponse_serviceWorkerScript |
Нет | Нет | 95 | ? | Нет | Нет | ? | ? | 95 | ? | Нет | ? |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions