2013-05-08 98 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