Runner in the High

技術のことをかくこころみ

Chrome.storage.syncを使ってみる

Chrome.storageを使うと、異なるマシン上のChromeブラウザ間で同じ拡張機能が保存しているstorageを同期してくれる。

このサンプルの機能は、テキストボックスに入力された文字列をChrome.storage.sync.setでストア。起動時にChrome.storage.sync.getで読み込んで上のdivに内容を表示。同期されていれば、その内容が異なるマシン上で同じになる、というもの。 

  • setもgetも何らかのエラーが起きるとChrome.runtime.errorに文字列をセットする。ちなみに、getで指定されたデータが存在しなかった場合にはundefinedが帰ってくるだけでエラーにはならないので注意。
  • setでデータをセットするときには連想配列でキーを指定すること。ここがlocalStorageと違うところ。
  • データが同期されません!!という場合には、chrome://settings/syncSetup拡張機能にチェックが入っているかどうかを確認のこと。
  • うまく機能していれば、chrome://sync-internalsのSync Protocol Logとか、Transient CountersのCommited Countが増えたりする。