Permet aux extensions de demander des permissions supplémentaires lors de l'exécution, après leur installation.
 

Les extensions ont besoin de permissions pour accéder aux nombreuses API WebExtension les plus puissantes. Ils peuvent demander des permissions lors de l'installation en incluant les permissions dont ils ont besoin dans la clé du manifesst.json des permissions. Les principaux avantages de demander des permissions au moment de l'installation sont les suivants:

  • L'utilisateur est seulement demandé une fois, donc il est moins perturbateur pour eux et une décision plus simple
  • L'extension peut compter sur l'accès aux API dont elle a besoin, car si elle est en cours d'exécution, les permissions ont été accordées.

Il n'y a pas encore d'interface graphique simple permettant aux utilisateurs d'afficher les permissions des modules complémentaires WebExtensions installés. Les utilisateurs doivent utiliser about:debugging, puis allez dans la section des modules complémentaires, puis utilisez le lien "Manifest Url" pour le module complémentaire. Cela montrera le json brut, qui inclut un bloc "permissions" qui montre les permissions utilisées par l'addon.

Avec l'API de permissions, une extension peut demander des permissions supplémentaires lors de l'exécution. Ces permissions doivent être listées dans la clé optional_permissions du manifest.json. Notez que certaines permissions ne sont pas autorisées dans optional_permissions. Les principaux avantages de ceci sont :

  • L'extension peut s'exécuter avec un plus petit nombre de permissions, sauf lorsqu'elle en a réellement besoin
  • L'extension peut gérer le refus de permission de manière gracieuse au lieu de présenter à l'utilisateur un choix global "tout ou rien" au moment de l'installation. Vous pouvez toujours obtenir beaucoup de cette carte d'extension sans lui donner accès à votre emplacement, par exemple.
  • L'extension peut avoir besoin des permissions hôtes, mais ne sait pas à l'installation exactement quelles permissions d'hôte qu'il a besoin. Par exemple, la liste des hôtes peut être un paramètre utilisateur. Dans ce scénario, demander une gamme plus spécifique d'hôtes au moment de l'exécution peut être une alternative à demander "<all_urls>" au moment de l'installation.

Pour utiliser l'API de permissions, déterminez les permissions que votre extension peut demander lors de l'exécution, et indiquez-les dans optional_permissions. Après cela, vous pouvez demander toutes les permissions incluses dans  optional_permissions. Les demandes peuvent uniquement être effectuées dans le gestionnaire pour une action de l'utilisateur (par exemple, un gestionnaire de clics).
 

Types

permissions.Permissions
Représente un ensemble de permissions.

Méthodes

permissions.contains()
Découvrez si l'extensions a le jeu de permissions donné.
permissions.getAll()
Obtenez toutes les permissions que cette extension a actuellement.
permissions.remove()
Renoncer à un ensemble de permissions.
permissions.request()
Demander un ensemble de permissions.

Event handlers

permissions.onAdded
Activé lorsqu'une nouvelle permission est accordée.
permissions.onRemoved
Déclenché lorsque une permission est supprimée.

Compatibilité du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaFirefox pour Android
containsChrome Support complet OuiEdge Aucun support NonFirefox Support complet 55Opera Support complet OuiFirefox Android Support complet 55
getAllChrome Support complet OuiEdge Aucun support NonFirefox Support complet 55Opera Support complet OuiFirefox Android Support complet 55
onAddedChrome Support complet OuiEdge Aucun support NonFirefox Aucun support NonOpera Support complet OuiFirefox Android Aucun support Non
onRemovedChrome Support complet OuiEdge Aucun support NonFirefox Aucun support NonOpera Support complet OuiFirefox Android Aucun support Non
PermissionsChrome Support complet OuiEdge Aucun support NonFirefox Support complet 55Opera Support complet OuiFirefox Android Support complet 55
removeChrome Support complet OuiEdge Aucun support NonFirefox Support complet 55Opera Support complet OuiFirefox Android Support complet 55
requestChrome Support complet OuiEdge Aucun support NonFirefox Support complet 55
Notes
Support complet 55
Notes
Notes The user will be prompted again for permissions that have been previously granted and then removed.
Notes It's not possible to request permissions from a popup or a sidebar document.
Aucun support 56 — 61
Notes
Notes It's not possible to request permissions from an options page that's embedded in about:addons. To request permissions from an options page, set the open_in_tab property in the options_ui manifest key, so the options page opens in its own tab.
Opera Support complet OuiFirefox Android Support complet 55
Notes
Support complet 55
Notes
Notes The user will be prompted again for permissions that have been previously granted and then removed.
Notes It's not possible to request permissions from a popup or a sidebar document.
Aucun support 56 — 61
Notes
Notes It's not possible to request permissions from an options page that's embedded in about:addons. To request permissions from an options page, set the open_in_tab property in the options_ui manifest key, so the options page opens in its own tab.

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Example extensions

Remerciements :

Cette API est basée sur l'API Chromium chrome.permissions.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

Étiquettes et contributeurs liés au document

Contributeurs à cette page : hellosct1
Dernière mise à jour par : hellosct1,