次のコードを使用して、実行時に hbox 要素に vboxes 要素を設定しようとしています。
Xul コード :
<hbox style="overflow:auto;" id="canvasContainer"> </hbox>
Javascript コード :
this.canvasContainer = document.getElementById("canvasContainer");
for(var i = 0;i<k;i++){
let imgCanvas = document.createElementNS("http://www.w3.org/1999/xhtml",'html:canvas');
imgCanvas.setAttribute("width",200);
imgCanvas.setAttribute("height",150);
imgCanvas.getContext("2d").fillRect(0,0,200,150);
let canvasVbox = document.createElementNS("http://www.w3.org/1999/xhtml",'vbox');
this.canvasContainer.appendChild(canvasVbox);
let canvasLabel = document.createElement("label");
canvasLabel.setAttribute("value",i);
canvasLabel.setAttribute("flex",1);
canvasVbox.setAttribute("flex",1);
canvasVbox.appendChild(imgCanvas);
canvasVbox.appendChild(canvasLabel);
this.canvasContainer.appendChild(canvasVbox);
}
これにより、キャンバスとラベルが上下に縦に表示されます。問題が発生した可能性があることを知っていますか?ボックスに動的にデータを入力することはできないのでしょうか? Xulrunner のバグですか? グリッドを使用せずに可能な回避策のアイデアはありますか?