2013-03-30 10 views
6

クロムストレージに配列を保存してそれらを取得することは可能ですか?クロムシンクストレージの保存と更新アレイ

var uarray = [abc,def,ghi]; 

ストレージに格納された配列を更新することはできますか?

var tobeadded = jkl; 
uarray.push(tobeadded); 

これはドキュメントの構文

chrome.storage.sync.set({'value': theValue}, function() { 
    // Notify that we saved. 
    message('Settings saved'); 
}); 

マイブックマーク延長だったが、ブックマークのIDを格納し、それに基づいて内部検索と詰め込むためにそれらを取得する必要があります。ブックマークは、ストレージ内のIDの更新を定期的に同期させる必要があります。

ありがとうございます!

+0

コールchrome.storage.sync.setにあなたは、配列をmodifiyとchrome.storage.onChangedの配列の場合を更新するたびに格納されている既存のarraynewArrEntryを追加できるようにする必要があります必要。スロットル制限にも注意してください。 –

+0

更新はJscriptのプッシュに似たストレージに直接追加する必要があります。ストレージに既存の配列を追加するために使用できるものは何ですか?古い値+新しい値の配列を作成することはできません。 –

答えて

3

既存の値を読み取り、新しい値を追加して元に戻すことができます。

次のサンプルコードは、あなたがchrome.storage.sync

chrome.storage.sync.get(["storagekey"], function(result) { 
     var array = result[storagekey]?result[storagekey]:[]; 

     array.unshift(newArrEntry); 

     var jsonObj = {}; 
     jsonObj[storagekey] = array; 
     chrome.storage.sync.set(jsonObj, function() { 
      console.log("Saved a new array item"); 
     }); 
    });