Modifier une valeur du about:config

Vous vous penchez sur le développement d'applications ou d'extensions pour Mozilla ? C'est alors vers ce forum que se dirigeront naturellement vos requêtes...
fg

Modifier une valeur du about:config

Message par fg »

Bonjour je souhaiterai modifier une valeur de about:config à partir d'une extension. Le seul problème est que je ne trouve pas la commande javascript adéquate :cry: .

PS : Je souhaite modifier la valeur (par 0,1 ou 2) d'une option de about:config.

Merci d'avance pour vos réponses.
laurentJ
Arias
Messages : 7
Inscription : 21 août 2003, 22:15

Message par laurentJ »

il faut utiliser les objets XPCOM manipulant les prefs.

voir la bilbliothèque jslib (jslib.mozdev.org) dans laquelle tu pourras voir le code qu'il te faut.
Technos Mozilla : http://xulfr.org. Standards du web : http://openweb.eu.org. Editeur HTML: http://bluegriffon.org
Jim
Tyrannosaurus Rex
Messages : 3228
Inscription : 20 juil. 2005, 14:34

Message par Jim »

Bonsoir,

Edit Config Files permet d'éditer le fichier prefs.js.

Il va te falloir ceci http://kb.mozillazine.org/Firefox_:_FAQ ... ig_Entries
et ceci http://kb.mozillazine.org/About:config
Ptit Lutin
Iguane
Messages : 623
Inscription : 26 juin 2004, 14:02

Message par Ptit Lutin »

Voici un exemple pour modifier une préférence (chaîne de caractères)

Code : Tout sélectionner

const PREFS = Components.classes["@mozilla.org/preferences-service;1"]
              .getService(Components.interfaces.nsIPrefBranch);
              
const UNICODE = Components.interfaces.nsISupportsString;

/*-----------------------------------------------------------------------------
AJOUT/MODIFICATION D'UNE PREFERENCE UNICODE
SORTIE: code erreur
-----------------------------------------------------------------------------*/
function FixerPref(pref, value, branch) {
  try {
    // CREATION DE L'OBJET UNICODE
    var str = Components.classes["@mozilla.org/supports-string;1"]
              .createInstance(UNICODE);
    // AFFECTATION DE LA VALEUR
    str.data = value;
    // AJOUT/MODIFICATION DE LA PREFERENCE
    branch.setComplexValue(pref, UNICODE, str);
  } catch(e) {return(e);}
}
et un appel à cette fonction:

Code : Tout sélectionner

FixerPref(nom de la pref unicode, valeur de la pref unicode, PREFS);
Pour les autres types et fonctions:
http://www.xulplanet.com/references/xpc ... ranch.html
http://kb.mozillazine.org/Dev_:_Using_preferences
http://www.mozilla.org/projects/embeddi ... api83.html

Attention : on ne peut pas modifier une préférence lockée (voir prefIsLocked, unlockPref, lockPref)

;)
Image
fg

Message par fg »

Dans chacun de mes scripts, FF s'exite et mes :

Code : Tout sélectionner

Erreur : uncaught exception: Permission refusée d'obtenir la propriété UnnamedClass.classes
:cry:
Ptit Lutin
Iguane
Messages : 623
Inscription : 26 juin 2004, 14:02

Message par Ptit Lutin »

fg a écrit :Dans chacun de mes scripts, FF s'exite et mes :

Code : Tout sélectionner

Erreur : uncaught exception: Permission refusée d'obtenir la propriété UnnamedClass.classes
:cry:
Tu utilises bien les fonctions dans le cadre d'une extension ? Seule une extension a la possibilité de modifier les préférences.
Image
chBok
Iguane
Messages : 991
Inscription : 17 oct. 2003, 19:17

Message par chBok »

fg a écrit :Dans chacun de mes scripts, FF s'exite et mes :

Code : Tout sélectionner

Erreur : uncaught exception: Permission refusée d'obtenir la propriété UnnamedClass.classes
Oui, les classes de composants ne sont accessibles que dans le "chrome". N'hésite pas à consulter la documentation sur http://xulfr.org/.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité