【发布时间】:2015-03-19 13:59:09
【问题描述】:
我正在尝试使用 chrome.storage 在包含其他对象的 chrome 扩展中存储一个对象 - 但在初始化它和使用 chrome.storage.sync.get 正确获取它时遇到问题。我知道我应该以chrome.storage.sync.get(key: "value", function(obj) {} 的形式获取对象 - 问题是我不知道如何
- 第一次用get初始化对象
- 使用 set 正确更新我的对象
我有以下代码来创建对象并添加我需要的数据。
allData = {};
currentData = {some: "data", goes: "here"};
allData[Object.keys(allData).length] = currentData;
这将正确地给我一个对象,它的第一个键 (0) 设置为 currentData。 (Object: {0: {some: "data", goes: "here"}}) 按预期工作,allData[Object.keys(allData).length] = currentData; 稍后会正确地将当时的任何 currentData 推送到我的 Object 中。
但是如何正确地将其永久存储在 chrome.storage 中? chrome.storage.sync.get("allData", function(datas) {}) 无法创建空的 allData 变量,allData: {}、allData = {} 以及各种返回 undefined 或其他错误的不同事物也是如此。如何正确初始化一个空对象并将其存储在 chrome.storage 中?或者我是否将这一切都搞错了,需要将其分解为关联数组才能使其工作?
我基本上需要将上面的一小块工作代码永久存储在 chrome.storage 中,以便我可以根据需要使用它。
【问题讨论】:
标签: javascript google-chrome object google-chrome-extension associative-array