Page 1 sur 1
Modifier une valeur du about:config
Publié : 27 oct. 2005, 17:33
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

.
PS : Je souhaite modifier la valeur (par 0,1 ou 2) d'une option de about:config.
Merci d'avance pour vos réponses.
Publié : 27 oct. 2005, 18:50
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.
Publié : 27 oct. 2005, 20:57
par Jim
Publié : 28 oct. 2005, 16:46
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)

Publié : 29 oct. 2005, 19:38
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

Publié : 29 oct. 2005, 19:47
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

Tu utilises bien les fonctions dans le cadre d'une extension ? Seule une extension a la possibilité de modifier les préférences.
Publié : 29 oct. 2005, 23:45
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/.