2014-05-05 16 views
5

Qual è il formato per dichiarare che le preferenze di un addon devono essere sincronizzate tra le installazioni di firefox? Vedo un breve description che dovresti creare services.sync.prefs.sync.extension.frobnaz.foobar ma come dovrebbe essere inserito nel package.json che definisce le preferenze del componente aggiuntivo? Per esempio, dire che ho definito una preferenza c'è:Come sincronizzare le preferenze di firefox addon/extension?

"preferences": [{"name": "show_xyz", 
       "type": "bool", 
       "title": "Show XYZ", 
       "value": true}] 

in Firefox di about:config questo è in definitiva tradotto nella preferenza extensions.<addon id>@jetpack.show_xyz. Quindi, come dovrebbero essere create le preferenze services.sync.prefs.sync.*?

risposta

0

Questo ragazzo qui sincronizza preferenze Greasemonkey, penso che si può utilizzare: https://gist.github.com/LouCypher/3193779

var prefs = Services.prefs; 
var prefArray = prefs.getChildList("greasemonkey.scriptvals", {}); 
for (var i = 0; i < prefArray.length; i++) { 
prefs.setBoolPref("services.sync.prefs.sync." + prefArray[i], true); 
} 
1

Hai a che fare con questo livello di codice, attraverso il modulo preferences/service.

var ps = require('sdk/preferences/service'); 
var addonid = require('sdk/self').id; 

var simpleprefs = ps.keys('extensions.' + addonid); 

simpleprefs.forEach(function(prefname){ 
    ps.set('services.sync.prefs.sync.extensions.' + addonid + '.' + prefname, true) 
}); 
Problemi correlati