2013-03-13 80 views
1

我想創建一個面板/框架,看起來像在Firefox的左側出現的「歷史記錄」面板,當您按「Ctrl + H」 。我希望我的小組處於最底層。Firefox插件開發:在頁面底部設置'面板'

我覺得我必須使用panel,但沒有功能告訴我如何將它設置到當前打開的網頁的底部。 如何做到這一點?

回答

1

Panel對象上的show()方法允許您設置定位面板的錨點,`show(anchor)。它需要一個瀏覽器DOM中的對象,你可以很容易地獲得它。

您可以使用它將面板錨定在瀏覽器中的任何元素上。找到想要用於精確定位的元素可能會非常棘手,因爲您希望面板位於底部,所以我選擇了狀態欄。

這裏的SDK代碼,將在頁面的底部(左)的位置面板:

var wuntils = require('sdk/window/utils'); 
var panel = require("sdk/panel").Panel({ 
    contentURL: 'http://stackoverflow.com/questions/15390974/firefox-addon-development-setting-the-panel-to-the-bottom-of-the-page' 
}); 

panel.show(wuntils.getMostRecentBrowserWindow().document.getElementById("statusbar-display")); 
+0

建議不要使用這樣的未公開的功能,因爲這些功能可能會發生變化。 [show](https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/panel.html#show)方法不會「正式」使用任何參數,DOM錨在內部用於將其綁定到一個小部件。在不久的將來,傳遞給'show'方法的第一個參數將是一個完全不同的對象 - 請參閱https://github.com/mozilla/addon-sdk/wiki/JEP-Panel-positioning – ZER0 2013-03-13 17:49:40