オンラインの Firefox Addon Builder ( https://builder.addons.mozilla.org ) を使用してアドオンを開発していますが、シンプル ストレージに問題があります。以下のコードについては、(アドオン ビルダーで "test" オプションを使用して) 実行するたびに、コンソールに同じ情報が表示されます。つまり、値が保存されていないようです。
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を再起動せずにコードをデバッグする方法は?