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.

Avec l'API d'autorisations, une extension peut demander des autorisations 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

ChromeEdgeFirefoxFirefox for AndroidOpera
contains Oui Non5555 Oui
getAll Oui Non5555 Oui
onAdded Oui Non Non Non Oui
onRemoved Oui Non Non Non Oui
Permissions Oui Non5555 Oui
remove Oui Non5555 Oui
request Oui Non55 *55 * Oui

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,