2011-08-15 4 views
1

私はFirefox拡張機能を開発しており、タブパネルをタブボックス(xul)に追加しようとしています。私はJSで新しいタブを追加することができますJavascriptでタブパネル(xul)を作成するには

<tabbox id="tbDashboard" selectedIndex="0" > 
     <tabs><!-- list of tabs --> 
      <tab label="Overview"/> <!-- default tab --> 
      <tab label="test"/> 
     </tabs> 

     <tabpanels><!-- list of contents --> 
      <tabpanel ><!-- default tab's content --> 
       <box orient="horizontal" flex="1"> 
        <description style="font-size: 24pt;">overview</description> 
       </box> 
      </tabpanel> 
      <tabpanel ><!-- test tab's content --> 
       <box orient="horizontal" flex="1"> 
        <description style="font-size: 24pt;">test</description> 
       </box> 
      </tabpanel> 
     </tabpanel> 
    </tabpanels> 
</tabbox> 

タブボックスに

document.getElementById("tbDashboard")["tabs"].appendItem("popo"); 

タブが表示されますが、タブページが空で、私がしようとした:

  1. 2番目のパラメータ=>でappendItemを使用すると動作しない
  2. document.getElementById( "tb

誰かがタブページ(タブパネル)を作成するアイディアを持っていますか?[tabpanels]] [tabpanels]あなたが例えば、DOM APIを使用してパネルを作成し、あなたのXUL文書にそれを追加する必要があります

THX

答えて

2

tabs.appendItem()tab要素を作成するために、単に便利なヘルパーです。 DOM操作のチュートリアルについて

var panel = document.createElement("tabpanel"); 
panel.appendChild(document.createElement("textbox")); 
tabbox.tabpanels.appendChild(panel); 

:あなたは(ここでの唯一の内容としてテキストボックス付き)同じようにtabpanel要素を作成して追加することができます

var tabbox = document.getElementById("tbDashboard"); 
var tab = document.createElement("tab"); 
tab.textContent = "popo"; 
tabbox.tabs.appendChild(tab); 

:それは本質的に同じですhttps://developer.mozilla.org/en/XUL_Tutorial/Modifying_a_XUL_Interfaceを参照してください。

+0

ええ、それは仕事です^^ thx – sGendrot

1

let newPanel = document.createElement("tabpanel"); 
let panelContent = document.createElement("hbox"); 
// Add more content here 
newPanel.appendChild(panelContent); 
document.getElementById("tbDashboard").tabPanels.appendChild(newPanel); 
関連する問題