0

こんにちは、(初めての) Firefox アドオンを開発しようとしています。いくつかのコンテンツを含むいくつかの定義された URL にパネルを表示する必要があります。これは、widget-symbol をクリックすると機能します。ユーザーがページをロードすると、パネルが表示されるようになりました。

panel.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 に答える