2014-05-05 17 views
5

Định dạng cho tuyên bố rằng tùy chọn của tiện ích bổ sung sẽ đồng bộ hóa trên các cài đặt firefox là gì? Tôi thấy một số description ngắn mà bạn nên tạo services.sync.prefs.sync.extension.frobnaz.foobar nhưng làm cách nào để nhập vào package.json xác định tùy chọn của tiện ích bổ sung? Ví dụ, nói rằng tôi đã xác định một sở thích đó:Làm cách nào để bạn đồng bộ hóa tùy chọn tiện ích bổ sung/tiện ích mở rộng firefox?

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

Trong firefox của about:config này là cuối cùng dịch vào sở thích extensions.<addon id>@jetpack.show_xyz. Vì vậy, làm thế nào nên services.sync.prefs.sync.* sở thích được tạo ra?

Trả lời

0

anh chàng này đây đồng bộ prefs greasemonkey, tôi nghĩ rằng bạn có thể sử dụng nó: 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

Bạn phải đối phó với lập trình này, thông qua các mô-đun 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) 
}); 
Các vấn đề liên quan