Helo,我尝试开发一个(我的第一个)firefox附加组件。它应该在几个定义的URL上显示一个面板,其中包含一些内容。如果我点击小部件符号正常,这是有效的。现在我想,如果用户加载页面,则会显示该面板。
panel.show();显示面板居中。我想将面板映射/锚定到窗口小部件,以便面板显示在rigth底部角落。
解决方案https://gist.github.com/azu/4413137和Mozilla "Jetpack" Add-On: Anchor Panel to Widget对我没用。 (带有附加组件的SDK 1.13.2)
我的代码:
thePanel = panel.Panel({
width: 320,
height: 170,
contentScriptFile: [self.data.url('jquery.js'), self.data.url('panel.js')],
contentScriptWhen: "ready",
contentScript: "SOMESCRIPT",
contentURL: self.data.url('thecontent.html'),
onMessage: function (item) {
console.log('message : "' + item + '"');
tabs.open(item);
}
});
var widget = widgets.Widget({
id: "my-id",
label: ".de",
panel: thePanel,
contentURL: self.data.url("favicon.ico"),
onClick: function() {
/*blabla*/
}
});
tabs.on('ready', function(tab) {
check_content(); // loads thecontent.html for panel content
thePanel.show(); // Shows panel at center
});
有人可以帮助我吗?
答案 0 :(得分:1)
thePanel = panel.Panel({
width: 320,
height: 170,
contentScriptFile: [self.data.url('jquery.js'), self.data.url('panel.js')],
contentScriptWhen: "ready",
contentScript: "SOMESCRIPT",
contentURL: self.data.url('thecontent.html'),
onMessage: function (item) {
console.log('message : "' + item + '"');
tabs.open(item);
}
});
var widget = widgets.Widget({
id: "my-id",
label: ".de",
//panel: thePanel,
contentURL: self.data.url("favicon.ico"),
onClick: function(view) {
/*This will work*/
view.panel = thePanel;
/*This will work*/
}
});
Instead of using panel.show(), use view.panel = thePanel;