0

JS と拡張機能は初めてなので、これは初歩的なミスかもしれません。

同期ストレージ API を使用しています

var key = "chromeext_form_26" + tabid ;

chrome.storage.sync.set({ String(key),  tab1Obj }, function() {
    if (chrome.runtime.error) {
        console.log("Runtime error.in setting");
    }
});    

しかし、キーを文字列として認識しないため、これはエラーをスローします。オブジェクトを「キー」自体にマップするキーとして「chromeext_form_26」+ tabidを直接使用しようとしました。

入力するchrome.storage.sync.get(null, function (data) { console.info(data) }); と、マッピングが として表示されObject { key: "efg"}ます。

4

3 に答える 3

2

キーを動的に作成したいですね。

var keyオブジェクトのキーペア定義を追加した後:

var pair={}; pair[key]=tab1Obj;
chrome.storage.sync.set(pair, function(){
于 2016-04-09T11:15:36.493 に答える
0

StorageArea.setの最初のパラメータはオブジェクトであるため、:ではなくUse を使用する必要があることに注意してください,

var key = "chromeext_form_26" + tabid ;

chrome.storage.sync.set({ String(key):  tab1Obj }, function() {
    if (chrome.runtime.error) {
        console.log("Runtime error.in setting");
    }
});
于 2016-04-10T02:07:01.390 に答える