chrome.storage.sync.set变量键

时间:2014-12-29 20:42:49

标签: javascript google-chrome google-chrome-extension

我正在编写将使用chrome storage API的Chrome扩展程序。我试图使用键的变量并将值设置为null:

function save() {
    var item = $("#item").val();
    chrome.storage.sync.set({item:null}, function(){
        console.log("sync settings saved");
    });
}

然后我运行以下内容查看所有已保存的数据:

chrome.storage.sync.get(null, function(items) {
    console.log(items);
});

控制台输出是:

Object {item: ""}

所以基本上它已被设置,但不是用变量的值保存它,而是用变量名保存它。

有任何想法如何让它来保存变量值吗?

1 个答案:

答案 0 :(得分:6)

这是JavaScript中的预期行为。这是你在Objects中定义键的方法。

如果要将变量值设置为对象键,可以执行以下操作:

var item = $("#item").val();
var save = {};
save[item] = null;
chrome.storage.sync.set(save)
//...

然后save对象不会使用“item”作为键,但它是值。