Synchronization 如何同步FF简单首选项

Synchronization 如何同步FF简单首选项,synchronization,firefox-addon,firefox-addon-sdk,Synchronization,Firefox Addon,Firefox Addon Sdk,我想使用require('sdk/preferences/service')同步Firefox插件的设置 以下是我的非工作试用: package.json: { "title": "Test", "name": "test", "author": "devname", "version": "1.0.0", "main": "lib/main.js", "engines": {"firefox": ">=38.0a1","fennec

我想使用
require('sdk/preferences/service')
同步Firefox插件的设置

以下是我的非工作试用: package.json:

    {
    "title": "Test",
    "name": "test",
    "author": "devname",
    "version": "1.0.0",
    "main": "lib/main.js",
    "engines": {"firefox": ">=38.0a1","fennec": ">=38.0a1"},
    "license": "MPL-2.0",
    "id": "test@devname.org",
    "permissions": {"private-browsing": true},
    "dependencies": ["addon-kit"],
    "preferences": [{
            "title": "Color 1",
            "type": "color",
            "value": "#000000",
            "name": "1"
    }]}
    const
        addonid = require('sdk/self').id,
        simprefs = require('sdk/simple-prefs'),
        simstore = require('sdk/simple-storage'),
        service = require('sdk/preferences/service'),
        store = simstore.storage
    ;

    service.set('services.sync.prefs.sync.extensions.' + addonid + '.syncy', true);

    simprefs.on('1', function() {
        simprefs.prefs["syncy"] = simprefs.prefs["1"];
    });
})();
lib/main.js:

    {
    "title": "Test",
    "name": "test",
    "author": "devname",
    "version": "1.0.0",
    "main": "lib/main.js",
    "engines": {"firefox": ">=38.0a1","fennec": ">=38.0a1"},
    "license": "MPL-2.0",
    "id": "test@devname.org",
    "permissions": {"private-browsing": true},
    "dependencies": ["addon-kit"],
    "preferences": [{
            "title": "Color 1",
            "type": "color",
            "value": "#000000",
            "name": "1"
    }]}
    const
        addonid = require('sdk/self').id,
        simprefs = require('sdk/simple-prefs'),
        simstore = require('sdk/simple-storage'),
        service = require('sdk/preferences/service'),
        store = simstore.storage
    ;

    service.set('services.sync.prefs.sync.extensions.' + addonid + '.syncy', true);

    simprefs.on('1', function() {
        simprefs.prefs["syncy"] = simprefs.prefs["1"];
    });
})();
因此,当我在插件管理器中将pref 1设置为color#777777时,pref syncy将获得相同的值(在about:config页面上可见)。
当我使用2个Firefox配置文件并向Mozilla注册以同步并在每个配置文件上安装此附加组件时,我希望在一个配置文件上更改此值会在另一个配置文件上更改它(因此,about:config->extensions上的设置)。test@devname.org.syncy)-但事实并非如此。
我做错了什么?

关于在配置文件之间同步加载项的条件:

当前,Sync将同步满足以下条件的加载项:
-是扩展或主题(即不是插件)
-安装在配置文件目录中
-由用户在Firefox内部明确安装
-是从受信任的URI安装的

我认为问题在第四种情况下。在开发过程中,Firefox不能信任您的插件。但在同一篇文章中,有一个旁路第四种情况的可能变体的提示:

为什么功能仅限于addons.mozilla.org中的加载项?
首先,这只是默认行为。services.sync.addons.trustedSourceHostnames首选项是一个逗号分隔的列表,允许使用其他受信任的主机名


非常感谢。这似乎是一个好主意,但我试图通过更改这个逗号分隔的可信源字符串使其工作-但要么我做得不对,要么它没有按预期工作。知道如何扩展字符串“addons.mozilla.org”吗?->“addons.mozilla.org”?“-Thx