set()

Utilisez BrowserSetting.set() pour modifier le paramètre du navigateur vers une nouvelle valeur.

Certaines règles peuvent être restreintes lorsque les extensions sont capables de modifier les paramètres :

  • Certains param√®tres sont verrouill√©s, de sorte qu'ils ne peuvent pas √™tre modifi√©s par les extensions
  • Si plusieurs extensions tentent de modifier le m√™me param√®tre, les extensions re√ßoivent un ordre de priorit√© en fonction de leur installation. Plus r√©cemment, les extensions install√©es ont priorit√© sur l'extension install√©e r√©cemment.

Cela signifie que si l'extension X essaie de modifier un paramètre :

  1. Si le réglage est verrouillé, le réglage n'est pas modifié. Cependant, le changement de X est rappelé, et il est stocké dans une file d'attente, commandé par la priorité de X par rapport à toutes les autres extensions qui ont essayé de modifier le paramètre. Si le réglage devient déverrouillé plus tard, la première extension de la file d'attente permet de modifier le réglage.
  2. Sinon, si aucune autre extension n'a d√©j√† chang√© le param√®tre, X r√©ussit √† modifier le r√©glage, puis on dit "contr√īler" le r√©glage.
  3. Sinon, si une extension de priorit√© inf√©rieure Y a d√©j√† chang√© le param√®tre, X r√©ussit √† modifier le r√©glage et maintenant le r√©glage.  However, Y's change is remembered, and is stored in a queue in precedence order. Cependant, le changement de Y est rappel√© et est stock√© dans une file d'attente dans l'ordre de priorit√©. Si X efface ensuite sa valeur, ou si X est d√©sactiv√© ou d√©sinstall√©, la premi√®re extension de la file d'attente permet de modifier sa valeur.
  4. Sinon, si une extension de priorité supérieure Z a déjà changé le paramètre, X ne réussit pas à modifier le paramètre, mais sa modification est mise en file d'attente. Si Z efface ensuite sa valeur, ou si Z est désactivé ou désinstallé, la première extension de la file d'attente permet de modifier sa valeur.

Une extension peut déterminer lequel de ces scénarios s'applique en examinant la propriété "levelOfControl" renvoyée d'un appel à BrowserSetting.get().

la m√©thode BrowserSetting.set() renvoie une promesse qui r√©sout un bool√©en : Si une tentative de modification d'un param√®tre aboutit √† la modification du param√®tre (scenarios 2 et 3 ci-dessus) le bool√©en est  true: sinon il est false.

Syntaxe

var setting = setting.set(
  details     // object
)

Paramètres

details
Un objet qui doit contenir la propriété suivante :
value
any. La valeur à laquelle vous souhaitez modifier le paramètre. Son type dépend du réglage particulier.

Valeur retournée

Une Promise qui sera remplie avec un bool√©en: true si le param√®tre a √©t√© modifi√©, false sinon (par exemple, parce que l'extension n'a pas contr√īl√© le param√®tre).

Compatibilité du navigateur

Voir types.BrowserSetting.

Exemple

Modifiez le paramètre hyperlinkAuditingEnabled (ceci nécessite la permission "privacy") :

function onSet(result) {
  if (result) {
    console.log("Value was updated");
  } else {
    console.log("Value was not updated");
  }
}

browser.browserAction.onClicked.addListener(() => {

    var setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({
      value: false
    });
    setting.then(onSet);

});

Remerciements :

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

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.