1
所以。我遇到了一些問題,我的面板並不總是顯示(雖然看起來附加組件的其餘部分仍在工作)。我正在嘗試寫一些日誌來了解爲什麼會發生這種情況,但有些事情我並不是很瞭解。如何知道面板我顯示
要試驗我做了一個簡單的附加這樣
// 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
事件,但這只是爲了首先找到事件)。
細則:這是使用SDK 1.6.1和Firefox 10ESR。也許這是在以後的版本中解決的問題,我不知道。無論哪種方式,我想知道我是否想在這裏。
啊哈!現在就做到了。 show()是異步的信息+1。 – danneth