【问题标题】:How to sync FF simple-prefs如何同步 FF 简单首选项
【发布时间】:2016-06-18 19:06:32
【问题描述】:

我想使用 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"
    }]}

lib/main.js:

    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 设置为颜色 #777777 时,pref syncy 将获得相同的值(在 about:config 页面上可见)。
当我使用 2 个 Firefox 配置文件并向 Mozilla 注册以在每个配置文件上同步并安装此附加组件时,我希望在一个配置文件上更改此值会在另一个配置文件上更改它(因此 about:config -> extensions.test 上的设置@devname.org.syncy) - 但它没有。
我做错了什么?

【问题讨论】:

    标签: synchronization firefox-addon firefox-addon-sdk


    【解决方案1】:

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

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

    我认为第四个条件有问题。在开发过程中,您的插件不能被 Firefox 信任。但在同一篇文章中,暗示了绕过第 4 个条件的可能变体:

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

    【讨论】:

    • 谢谢!这似乎是个好主意,但我试图让它与更改这个逗号分隔的可信来源字符串一起工作 - 但要么我做错了,要么它没有按预期工作。知道如何扩展字符串“addons.mozilla.org”吗? -> " addons.mozilla.org,???" - 谢谢
    猜你喜欢
    • 2014-12-15
    • 2012-02-27
    • 2011-07-26
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多