2016-06-18 4 views
1

Я хотел бы синхронизировать настройки моего Firefox-аддона, используя require('sdk/preferences/service').Как синхронизировать FF simple-prefs

Вот мои нерабочие испытания: 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": "[email protected]", 
    "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"]; 
    }); 
})(); 

Так что, когда в Addon-Manager я набор pref 1 до цвета # 777777, тогда pref syncy получит одно и то же значение (видно на странице about: config).
Когда я использую 2 профили Firefox и регистрируюсь в Mozilla для синхронизации и установки этого надстроек на каждом из них, я ожидаю, что изменение этого значения на одном профиле изменит его на другой (так что параметр about about: config -> extensions .test @ devname.org.syncy) - но это не так.
Что я делаю неправильно?

ответ

1

С об условиях для синхронизации дополнений между профилями:

В настоящее время, синхронизация будет синхронизировать надстройки, которые отвечают следующим критериям:
- это расширение или тема (то есть не плагин)
- устанавливается в каталоге профиля
- устанавливается пользователем явно внутри Firefox
- устанавливается с доверенным URI

думаю проблема в 4-й степени. Во время разработки вашему аддону нельзя доверять Firefox. Но в той же статье, есть намек на возможный вариант обходного 4 условия:

Почему функциональность Ограничены надстройки от addons.mozilla.org?
Во-первых, это только поведение по умолчанию. services.sync.addons.trustedSourceHostnames preference - это список с разделителями-запятыми, чтобы разрешить другие доверенные имена хостов.

+0

спасибо! Это кажется хорошей идеей, но я пытался заставить ее работать с изменением этой разделенной запятой строки надежных источников, но либо я делаю это неправильно, либо работает не так, как ожидалось. Любая идея расширения строки "addons.mozilla.org"? -> "addons.mozilla.org, ???" - Спасибо – user1521685

 Смежные вопросы

  • Нет связанных вопросов^_^