【发布时间】:2013-10-28 02:34:28
【问题描述】:
我正在使用在线 Firefox Addon Builder (https://builder.addons.mozilla.org) 来开发我的插件,但我在简单存储方面遇到了一些问题。对于下面的代码,我在控制台上得到相同的信息,每次我运行它(使用插件生成器上的“测试”选项),即,该值似乎没有被存储:
var ss = require("sdk/simple-storage");
console.log("BEFORE INIT");
console.log(JSON.stringify(ss.storage));
if (!ss.storage.pages)
ss.storage.pages = [];
console.log("AFTER INIT");
console.log(JSON.stringify(ss.storage));
控制台:
[14:32:38.892] info: xxx: BEFORE INIT
[14:32:38.893] info: xxx: {}
[14:32:38.893] info: xxx: AFTER INIT
[14:32:38.893] info: xxx: {"pages":[]}
我认为发生这种情况是因为插件构建器在我每次运行测试时都会创建一个新的测试包,并且存储是插件私有的(显然是同一插件中的每个测试包):
[14:31:36.165] "installing from /xpi/test/2d6e6appf76kg/"
...
[14:32:36.378] "installing from /xpi/test/2d6e6appf7r40/"
我尝试重新启动 Firefox,然后它似乎可以工作(在控制台上显示正确的内容)。如何调试我的代码而无需不断重启 firefox?
【问题讨论】:
标签: javascript firefox firefox-addon firefox-addon-sdk