Modifier une valeur du about:config
Modifier une valeur du about:config
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.
PS : Je souhaite modifier la valeur (par 0,1 ou 2) d'une option de about:config.
Merci d'avance pour vos réponses.
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.
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
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
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
-
- Iguane
- Messages : 623
- Inscription : 26 juin 2004, 14:02
Voici un exemple pour modifier une préférence (chaîne de caractères)
et un appel à cette fonction:
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)
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);}
}
Code : Tout sélectionner
FixerPref(nom de la pref unicode, valeur de la pref unicode, PREFS);
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)
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
-
- Iguane
- Messages : 623
- Inscription : 26 juin 2004, 14:02
Tu utilises bien les fonctions dans le cadre d'une extension ? Seule une extension a la possibilité de modifier les préférences.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/.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
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité