Warum ist dieser Code E4X respektiert nicht den Standard-Namespace?
-
03-07-2019 - |
Frage
Ich bin Hacking um in einer Firefox-Erweiterung, versucht E4X zu verwenden. Allerdings habe ich über ein sonderbares Problem kommen:
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);
Die ersten beiden log Aussagen drucken "Guys". Die dritte ist leer. Was ist los? Ich habe den Standard-Namespace angegeben, und es ist in der Tat genau die gleiche thingas ich in der zweiten log-Anweisung. Warum funktioniert das nicht?
Lösung
In Firefox 3 Ihr Code ausgeführt wird, wie Sie es erwarten. Vielleicht laufen Sie in einen Bug in älteren Version von Gecko gefunden?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow