0

Helo,我尝试开发一个(我的第一个)firefox 插件。它应该在几个定义的 url 上显示一个面板,其中包含一些内容。如果我点击小部件符号就好了。现在我想要,如果用户加载页面,则显示面板。

面板.show(); 显示面板居中。我想将面板映射/锚定到小部件,以便面板显示在右下角。

解决方案https://gist.github.com/azu/4413137Mozilla "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
});

有人可以帮助我吗?

4

1 回答 1

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;
于 2013-05-15T06:19:38.893 回答