2013-05-08 97 views
3

开发Firefox附加组件。任何人都可以请帮忙弄清楚如何使面板变得透明。 这里是显示面板的代码:Firefox附加组件SDK:如何使面板透明

var panel = require("sdk/panel").Panel({ 
    width: 570, 
    height: 250, 
    contentURL: require("sdk/self").data.url("test.html") 
    }); 
    panel.show(); 

回答

0

我发现了一个解决方案,但它不是因为SDK/panel.js漂亮似乎并不为了调整以暴露原始Panel对象/延伸或者从现有的一个组成另一个小组。

这里所说:

(1)获取sdk/panel.js这里的源:在你的插件XPI找到SDK文件夹内panel.js(原始)或。

(2)将它作为新文件添加到您的插件包中。 (3)更改此克隆文件的要求参数(第16-24行),以便它们指向插件的正确位置。

例如: 变化

const { validateOptions: valid } = require('./deprecated/api-utils');

const { validateOptions: valid } = require('sdk/deprecated/api-utils');

(4)查找line 137,并修改变量css根据自己的喜好。像这样:

... 
let css = [ 
    ".panel-inner-arrowcontent, .panel-arrowcontent {padding: 0;}", //original css rule 
    ".panel-inner-arrowcontent, .panel-arrowcontent {opacity: 0.50; border-radius: 0.35in;}" //additional css rules: semi-transparent panel with rounded borders. 
].join(" "); 
... 

(5)使用panel.js的修改版本,而不是使用sdk附带的修改版本。

应该是这样。就像我说的那样,它不是特别优雅。

+0

您也可以覆盖'show'功能,而不是重复完整的源代码 – mate64 2015-11-22 21:38:32