gpt4 book ai didi

javascript - Chrome 扩展 : StorageArea. 设置键作为字符串传递

转载 作者:行者123 更新时间:2023-11-30 12:44:44 28 4
gpt4 key购买 nike

晚上好

我正在尝试将关联数组保存到 chrome.storage.local 中,如下所示:

var keyName = 'name';
var data = //grabbed from an Ajax call
saveData(keyName, data);

function saveData(keyName, data){
console.log("saving with key: "+keyName);
chrome.storage.local.set({keyName:data});
}

为了检查以确保数据正确保存,我加载:

function loadData(keyName){
console.log("loading: "+keyName);
chrome.storage.local.get(keyName, function(result){
console.log(result);
});
}

日志显示它正在尝试加载正确的 key 名称,但没有任何结果。然后我尝试调用 loadData(null),这将显示本地存储的全部内容,我发现:

Object {keyName: Array[3]}
keyName: Array[3]
__proto__: Object

我的数据!但是它保存的 key 是“keyName”而不是“name”。来自 saveData 的日志输出它是“用键‘name’保存”,但它是用键“keyName”保存的……

????

谢谢!

最佳答案

真奇怪...

看来我的问题类似于Using a variable key in chrome.storage.local.set

他们找到的答案是将 JSON {keyName:data} 转换为对象:

var obj = {};
obj[keyName] = data;
chrome.storage.local.set(obj);

这行得通。

这是因为 JSON 字段自 Action 为字符串传递吗?

关于javascript - Chrome 扩展 : StorageArea. 设置键作为字符串传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22975789/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com