2010-11-18 6 views
30

Я сделал расширение Chrome с страницей параметров. Данные сохраняются в localstorage и отлично работают.Как синхронизировать опции расширения хрома

Хром не синхронизирует локальное хранилище с облаком, просто расширения. Это означает, что любые пользовательские данные не будут синхронизироваться с другими компьютерами той же учетной записи google.

Я не могу найти API на http://developer.chrome.com/extensions/docs.html, который позволяет мне синхронизировать выбранные пользователем настройки.

Какие методы вы предлагаете?

+0

Что не синхронизирует localStorage? У вас возникли проблемы с синхронизацией между страницами параметров и другими страницами в расширении? Или вы ищете технологию, которая будет синхронизировать параметры между расширением на одном компьютере и опциями для одного и того же расширения на другом компьютере для одного и того же пользователя? – npdoty

+0

Последний. Скажем, у меня есть компьютер A и компьютер B с одним и тем же пользователем. Я устанавливаю расширение на компьютере А и задаю страницу параметров. Все работает нормально, и оно запоминает параметры даже после перезагрузки ПК. На компьютере b он установил себя через синхронизацию, но не сохранил сохраненные опции! как мне это изменить? – CasperT

+0

Вы используете API Cookies (http://code.google.com/chrome/extensions/cookies.html)? – fncomp

ответ

3

Вы должны уметь использовать HTML5 WebDatabases, , но вы не можете. См. Комментарии ниже.

+3

Зачем нужна синхронизация, но не localStorage? Обе вещи - HTML5. Есть ли ссылка в API, которая упоминает, что они поддерживают веб-базы данных в синхронизации расширений? – CasperT

+1

Честно говоря, я только что увидел, что кто-то из проекта хром предположил, что это будет хороший способ: (https://groups.google.com/group/chromium-extensions/tree/browse_frm/month/2009-09/ 8f8cb3beddc5ad9a? rnum = 31 & LNK = ол). Потому что он работает на отдельном потоке. – fncomp

+0

Это решение действительно работает? в связанной с этим проблеме http://code.google.com/p/chromium/issues/detail?id = 47327 нет упоминаний об этом – hamczu

2

Вы можете сериализовать некоторые параметры в закладки и сообщить пользователю, чтобы включить синхронизацию с закладками. Затем вы можете прочитать из закладки или создать объект «localStorage» вокруг закладки.

+0

Вы шутите? Кто сохранит закладку, висящую там только ради расширения, помня о нескольких настройках ...? –

+2

Это * * сумасшедший , но так я видел, как это удалось. –

1

Вы можете попробовать сделать это с помощью Документов Google, таких как Chrome, с закладками. Я не знаю, как далеко приближается апи, но это кажется довольно простой операцией.

4

Nathan Moos сказал вам правду :) Но вам не нужно писать это самостоятельно, вы можете использовать решение Ankit Ahuja от расширения Sylebot. Вам понадобится файл js/sync.js. Исходный код замечательный, и он отлично работает!

+0

ссылка на js/sync.js больше не работает, имеет ли стильный байт этот метод синхронизации? – user280109

31

В будущем (надеюсь, рядом) вы будете Теперь вы можете хранить вещи в chrome.storage.sync, и это будет автоматически синхронизироваться.

Если вам не нужно что-то прямо сейчас, подумайте о том, чтобы разместить все ваши конфигурации в одном объекте, а через некоторое время вы сможете просто его синхронизировать!

Редактировать: сейчас это available in stable Chrome!

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