Modules

permissions.request()

Demandez l'ensemble des permissions répertoriées dans l'objet permissions.Permissions.

L'argument Permissions peut contenir soit une propriété  origins , qui est un tableau de permissions d'hôte, soit une propriété permissions , qui est un tableau de permissions d'API, ou les deux. Les permissions doivent provenir de l'ensemble des permissions définies dans la clé  optional_permissions du manifest.json. La propriété origins qui correspondent à un sous-ensemble des hôtes correspondant à une  permission facultative : par exemple, si optional_permissions inclut "*://mozilla.org/", alors  permissions.origins peut inclure  "https://developer.mozilla.org/".

La demande ne peut être faite à l'intérieur du gestionnaire que pour une action de l'utilisateur, telle que

  • En cliquant sur l'action du navigateur de l'extension ou sur l'action de la page
  • Sélectionner son élément de menu contextuel
  • Activer un raccourci clavier défini par l'extension
  • En cliquant sur un bouton dans une page associée à l'extension.

Selon les circonstances, le navigateur traitera probablement la demande en demandant à l'utilisateur s'il doit accorder les permissions demandées. Une seule requête est faite pour toutes les permissions demandées: donc toutes les permissions sont accordées ou aucune d'entre elles ne l'est.

Toutes les autorisations accordées sont conservées par l'extension, même en cas de mise à niveau et de désactivation / activation du cycle.

Il s'agit d'une fonction asynchrone qui renvoie une Promesse.

Syntaxe

var requesting = browser.permissions.request(
  permissions                // Permissions object
)

Paramètres

permissions
Un objet permissions.Permissions

Return value

Une Promesse qui sera remplie avec true si l'extension a reçu toutes les permissions répertoriées dans l'argument des permissions , ou false dans le cas contraire.

Compatibilité du navigateur

ChromeEdgeFirefoxFirefox for AndroidOpera
Support simple Oui Non551551 Oui

1. The user will be prompted again for permissions that have been previously granted and then removed.

Exemples

Ce code ajoute un gestionnaire de clics qui demande diverses permissions, puis enregistre le résultat de la demande et les permissions de l'extension une fois la requête terminée.

const permissionsToRequest = {
  permissions: ["bookmarks", "history"],
  origins: ["https://developer.mozilla.org/"]
}

function requestPermissions() {

  function onResponse(response) {
    if (response) {
      console.log("Permission was granted");
    } else {
      console.log("Permission was refused");
    }
    return browser.permissions.getAll();  
  }

  browser.permissions.request(permissionsToRequest)
    .then(onResponse)
    .then((currentPermissions) => {
    console.log(`Current permissions:`, currentPermissions);
  });
}

document.querySelector("#request").addEventListener("click", requestPermissions);

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,