1

面板尺寸在基于 SDK 的插件中是固定的

我想像这里的chrome字典扩展一样自动更改面板的大小

如果您将在面板中搜索,它将显示内容需求等大小数据。在 Mozilla 面板中,我们只能修复 1 种类型的尺寸,例如width:400px等等height:400px,但我希望面板尺寸应该基于数据大小,比如 chrome 扩展。

4

1 回答 1

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/

于 2013-01-02T21:35:28.850 回答