Chrome拡張APIメモ(v3)

chrome.alarms.onAlarm.addListener

DevTools起動時は正しく動くが、非起動時に途中から動かない場合がある。

Service Worker起動中は正しく動くが、Service Workerが落ちてイベントリスナー内に拘束された変数があるとエラーになって動かなくなると推測される。

デバッグ

拡張一覧のService WorkerからDevToolsを開き、コンソールで以下を叩くと即座にタイマーのイベントが走る。

chrome.alarms.create('test', {when : Date.now()})

 

chrome.storage.local

基本的な概念

一つのオブジェクトを操作するような感じ。

なので最上位のキーは分割して取得出来る。

ただし{"a":1}を取得しても1が取れるわけではなく、hoge.aという形でアクセスする必要がある。

最上位のキー以下を部分更新は出来ない?

 

参考

chrome extension StorageArea の仕様

なんか落ちる

Promiseを使って非同期で更新中に参照すると落ちるっぽい?

更新が終わった後に次の処理をすれば問題なく動作する。