面板大小在基于SDK的附加组件中修复
我想自动更改面板的大小,例如chrome dictionary extension here
如果您要在面板中搜索,它将显示内容要求等大小数据。
在Mozilla面板中,我们只能修复一种类型的尺寸,例如width:400px
和height:400px
等。但我希望面板尺寸应该基于数据尺寸,就像镀铬扩展一样。
答案 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});
});
以下是一个有效的例子: