Xul: dinamicamente compilazione di un hbox con vbox risultati in elementi posti in verticale

StackOverflow https://stackoverflow.com/questions/4804287

Domanda

sto cercando di compilare in runtime un elementi HBOX con elementi vbox utilizzando il seguente codice:

Codice Xul:

<hbox style="overflow:auto;" id="canvasContainer"> </hbox>

codice 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);
  }

Questo si traduce in tela ed etichette visualizzato verticalmente uno sotto l'altro. Sai sono stati il ??problema potrebbe venire da? Potrebbe essere che non è possibile compilare le caselle in modo dinamico? Si tratta di un bug in Xulrunner? Avete un'idea di una possibile soluzione senza l'utilizzo di griglie?

È stato utile?

Soluzione

Il problema era la linea: lasciare canvasVbox = document.createElementNS ( "http://www.w3.org/1999/xhtml", 'vbox');

VBox non fa parte del xhtml, ma parte della sintassi XUL, quindi ho solo bisogno di sostituire "http://www.w3.org/1999/xhtml" con "http://www.mozilla.org/keymaster /gatekeeper/there.is.only.xul" e ora funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top