chrome拡張の開発で設定データを保存する
chrome拡張でデータを保存する方法としては2つあり
html5のlocatStorageを使う方法とchrome extentionのAPIであるchrome.storageを使う方法がある。
html5のlocatStorageを使う方法は、普通にlocalStorageを使うだけなので簡単だが、サイトで使用している場合にデータが被ると嫌なので、chrome.storageの方を使ってみた。
注意点としてはコールバックとして関数が提供されていること
chrome.storage.sync.getのコールバック中に
chrome.storage.sync.setを書くようにしないとならないので、
ネストが1段深くなる。
単純にchrome.storage.sync.get、setを並べて書くとgetするのに時間が掛かる為、先にsetが実行される
chrome.storage.sync.get(['dateStrings'],function(items){ var dateStrings; dateStrings = items.dateStrings; // スクリプト実行時間を取得する date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hours = date.getHours(); var minutes = date.getMinutes(); var seconds = date.getSeconds(); dateStrings = year + "/" + ("0"+month ).slice(-2) + "/" + ("0"+day ).slice(-2) + " " + ("0"+hours ).slice(-2) + ":" + ("0"+minutes).slice(-2) + ":" + ("0"+seconds).slice(-2); items = { dateStrings : dateStrings } chrome.storage.sync.set(items, function(){}); });