如何在像Chrome扩展名的mozilla中更改面板大小

时间:2013-01-02 14:39:16

标签: firefox-addon firefox-addon-sdk

面板大小在基于SDK的附加组件中修复

我想自动更改面板的大小,例如chrome dictionary extension here

如果您要在面板中搜索,它将显示内容要求等大小数据。 在Mozilla面板中,我们只能修复一种类型的尺寸,例如width:400pxheight:400px等。但我希望面板尺寸应该基于数据尺寸,就像镀铬扩展一样。

1 个答案:

答案 0 :(得分:3)

您可以在Add-on SDK中使用一些额外代码实现此功能。

在main.js中:

var panel = require("panel").Panel({
  contentURL: "https://bugzilla.mozilla.org/enter_bug.cgi?product=Add-on%20SDK",
  onShow: function() {
        let worker = tabs.activeTab.attach({
            contentScriptFile: [
                data.url('windowsize.js')
            ]
        });

        worker.port.on('winsize', function(data) {
            panel.resize((data.width-120), (data.height-120));
        });
        worker.port.emit('fetchwinsize');
  }
});

在内容脚本中:

self.port.on('fetchwinsize', function() {
    self.port.emit("winsize", {height: window.innerHeight, width: window.innerWidth});
});

以下是一个有效的例子:

https://builder.addons.mozilla.org/package/150225/latest/