我正在使用在线 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?