Javascript Chrome扩展名:storage.set()不接受变量作为关键字
我正在尝试在扩展中使用Javascript Chrome扩展名:storage.set()不接受变量作为关键字,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在尝试在扩展中使用chrome.storage.local。这是我编写的一个测试: chrome.storage.local.set({'test': 'foo'}, function() { chrome.storage.local.get('test', function(data) { console.log("Test Result: ") console.log(data); }) }); var keyword = 'test2'; chrome.sto
chrome.storage.local
。这是我编写的一个测试:
chrome.storage.local.set({'test': 'foo'}, function() {
chrome.storage.local.get('test', function(data) {
console.log("Test Result: ")
console.log(data);
})
});
var keyword = 'test2';
chrome.storage.local.set({keyword: 'foo'}, function() {
chrome.storage.local.get(keyword, function(data) {
console.log("Test 2 Result: ")
console.log(data);
})
});
第一个测试和第二个测试之间的唯一区别是,我用一个保存字符串test2
的变量替换了字符串test
。现在,你希望这两个都能起作用,对吗?输出为:
Test Result:
Object {test: "foo"}
Test 2 Result:
Object {}
我做错了什么?您不能将json对象的键设置为变量,先创建一个对象,然后设置键和值
var obj = {};
obj[keyword] = 'foo'
chrome.storage.local.set(obj, function() {
哦,是的,事实上是这样!有人能把这个标记为复制品吗?对不起,吵闹了。。