Синхронизация Google Chrome позволяет делать много замечательных вещей: переносить настройки браузера, закладки, пароли и даже сами расширения и приложения с одного ПК на другой. Вот только расширения переносятся без своих данных и настроек. И нам приходится тратить время и нервы, чтобы все заново настроить. Утомительно. Однако теперь у нас в руках есть инструмент, который упростит нам жизнь.
Если быть точнее, то инструмент этот именуется Storage API и доступен он разработчикам расширений и приложений начиная с Google Chrome 20. Теперь нет смысла в своих разработках использовать localStorage API, т.к. новый инструмент куда удобнее и практичнее. И вот почему:
- Storage API не только хранит данные, но и синхронизирует их стандартными средствами браузера (storage.sync).
- Контент-скрипты расширений могут напрямую обращаться за данными, не используя промежуточные фоновые процессы.
- Настройки расширений могут сохраняться даже, если они в режиме инкогнито разбиты на независимые процессы (что это такое - описано тут).
- localStorage хранил данные в виде строки. Storage хранит данные как объекты. Давно мы этого ждали.
Чтобы применять новый API необходимо прописать специальное "разрешение" в манифесте:
"permissions": [
"storage"
]
Подробное применение описано в документации. А пример можно увидеть здесь.
Применяем, товарищи разработчики!