2017-11-25 93 views
0

我正在为我的个人使用开发一个Chrome扩展。我有一个弹出式菜单,有几个设置可以保存(更具体的我想保存ID)。JS:Chrome存储:不保存值

设置了权限tabsstorage

所以我使用Chrome的内置的存储API来设置和获取自己的价值观: 我要保存3个不同的值:

chrome.storage.sync.set({ 'course': this.value });

chrome.storage.sync.set({ 'group': this.value, 'name': name});

coursegroup保存,但name不是。

所以我的问题是为什么name没有保存,我做错了什么。谢谢您的帮助。

编辑1:

在我的内容脚本我得到的数据这样的:

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

null得到所有钥匙。我的控制台日志:{course: "1424", group: "5296"}。没有关键的标志name

编辑2:

由于泰Q的建议,使用

var obj = {}; obj['group'] = this.value; obj['name'] = name; chrome.storage.sync.set(obj);

保存现在的作品!

+0

你确定它不应该是'this.name'吗?您没有提供所有的代码,只要我不太熟悉Chrome扩展开发,就可以知道其他相关代码的外观。 –

+0

这个。不需要。我可以放在那里,我想要的。没关系。瓦里没有得到保存。如果您愿意,我可以添加更多信息。 – Techassi

+0

Idk。比如,你在哪里得到值'name'?此外,这*可能会帮助你? https://stackoverflow.com/questions/17331957/chrome-storage-sync-set-not-saving-values –

回答

0

请参阅编辑2为解决方案。

在将对象保存到存储器之前创建对象并填充数据非常好用!

谢谢@问问