2014-05-05 10 views
5

यह घोषणा करने के लिए प्रारूप क्या है कि एक एडन की वरीयताओं को फ़ायरफ़ॉक्स इंस्टॉलेशन में सिंक करना चाहिए? मुझे एक छोटा description दिखाई देता है जिसे आपको services.sync.prefs.sync.extension.frobnaz.foobar बनाना चाहिए, लेकिन इसे एडाप्टर की वरीयताओं को परिभाषित करने वाले पैकेज.जेसन में कैसे दर्ज किया जाना चाहिए? उदाहरण के लिए, कहते हैं कि मैं वहाँ एक वरीयता परिभाषित किया है:आप फ़ायरफ़ॉक्स एडन/एक्सटेंशन वरीयताओं को कैसे सिंक करते हैं?

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

फ़ायरफ़ॉक्स के about:config में यह अंततः वरीयता extensions.<addon id>@jetpack.show_xyz में अनुवाद किया है। तो services.sync.prefs.sync.* वरीयताओं को कैसे बनाया जाना चाहिए?

उत्तर

0

यह आदमी यहाँ Greasemonkey वरीयता सिंक करता है, मुझे लगता है कि आप इसका इस्तेमाल कर सकते हैं: 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

आप 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) 
}); 
संबंधित मुद्दे