それで。パネルが常に表示されないという問題が発生しています(アドオンの残りの部分はまだ機能しているようですが)。なぜこれが起こっているのかを知るためにいくつかのログを書き込もうとしていますが、私が本当に理解していないことがいくつかあります。
実験するために、私はそのような単純なアドオンを作成しました
// main.js
const panels = require("panel");
const {Cc, Ci} = require("chrome");
const widgets = require("widget");
var my_widget = widgets.Widget({
id: "google-link",
label: "Click me",
contentURL: "http://google.com/favicon.ico",
width: 20,
height: 20,
panel: my_panel,
onClick: function() {
my_panel.show();
console.log('Panel displaying? ' + my_panel.isShowing);
}
});
var my_panel = panels.Panel({
width: 500,
height: 500,
contentURL: "http://google.com",
});
my_panel.port.on("show", function() {
console.log('Panel emitted show');
});
何が起こるかは最初です:私がパネルをはっきりと見ているときでさえ、それisShowing
は常にです。false
そして、show
イベントがトリガーされることは決してないようです(私は本当にerror
イベントをキャッチしようとしていますが、これは最初にイベントを見つけるためだけです)。
細字:これはSDK1.6.1とFirefox10ESRを使用しています。おそらくこれは後のバージョンで解決されるものかもしれませんが、私にはわかりません。いずれにせよ、私がここで考えているかどうかを知りたいのです。