Domanda

Sto hackerando un'estensione di Firefox, provando a usare E4X. Tuttavia, ho riscontrato uno strano problema:

var myXml = <test xmlns="http://test.com">
     Hey
     <inner>
        Guys
      </inner>
   </test>;

var ns = myXml.namespace();

default xml namespace = ns;

this.log(myXml.*::inner);
this.log(myXml.ns::inner);
this.log(myXml.inner);

Le prime due istruzioni di registro stampano " Guys " ;. Il terzo è vuoto. Cosa sta succedendo? Ho specificato lo spazio dei nomi predefinito ed è in effetti esattamente la stessa cosa che sto usando nella seconda istruzione di registro. Perché non funziona?

La documentazione di Mozilla suggerisce che dovrebbe funzionare.

È stato utile?

Soluzione

In Firefox 3 il codice viene eseguito come previsto. Forse ti imbatti in un bug trovato nella versione precedente di Gecko?

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