javascript – Firefox SDK简单存储在重启后丢失关联数组数据
作者:互联网
关于
我正在使用Firefox SDK加载一个插件.在插件中,我存储了一个带简单存储的关联数组.
码
关联数组我用简单的prefs存储
var spammer = [];
spammer['id'] = res[0];
spammer['username'] = res[1];
spammer['date'] = res[2];
ss.storage.spammers.push(spammer);
console.log(ss.storage.spammers[i]['id']);
console.log(ss.storage.spammers[i]['username']);
console.log(ss.storage.spammers[i]['date']);
这似乎有效,而加载项处于活动状态时会记录正确的值.
但是,当我在浏览器中运行以下代码时
require("sdk/tabs").on("ready", function(tab) {
for (i = 0; i < ss.storage.spammers.length; i++) {
console.log(ss.storage.spammers[i]['id']);
console.log(ss.storage.spammers[i]['username']);
console.log(ss.storage.spammers[i]['date']);
}
});
但是现在当我运行代码时,会记录运行’undefined’的值
(前三个行来自上一个会话,存储有simple-prefs,3个工作行来自新会话)
>正确的日志数量,因此存在正确的值数
>我正确使用SDK配置文件
题
是不是可以将关联数组存储为简单存储,还是其他问题?
解决方法:
在
var spammer = [];
spammer['id'] = res[0];
spammer['username'] = res[1];
spammer['date'] = res[2];
ss.storage.spammers.push(spammer);
console.log(ss.storage.spammers[i]['id']);
console.log(ss.storage.spammers[i]['username']);
console.log(ss.storage.spammers[i]['date']);
改变var spammer = []; to var spammer = {};
标签:json,javascript,arrays,firefox-addon,firefox-addon-sdk 来源: https://codeday.me/bug/20190708/1404005.html