我了解localStorage不允许您保存对象。根据其文档,使用chrome.storage显然允许这样做。我应该提一下,我是在Chrome扩展程序中写的。
假设我有这个:
Food = function(breakfast, lunch, dinner) {
this.breakfast = breakfast;
this.lunch = lunch;
this.dinner = dinner;
}
foodObjects = [];
foodObjects.push(new Food('eggs', 'ham', 'steak'));
foodObjects.push(new Food('donuts', 'cookies', 'cake'));
chrome.storage.local.set({
'foodData' : foodObjects
});
//quit program
//open program
chrome.storage.local.get(null, function(data) {
//this doesn't work
foodObjects = data.foodData;
//neither does this
for(i = 0; i < data.foodData.length; i++) {
foodObjects.push(data.foodData[i]);
}
});
正如大家可能猜到的那样,这不起作用。我不知道为什么,但我认为这是因为我保存了对foodObjects[]
数组的引用而不是数组中的实际对象。
我的问题是如何保存存储在数组中的对象中包含的数据? 谢谢你的帮助。