1

E4X を使用しようとして、Firefox 拡張機能をハッキングしています。ただし、奇妙な問題に遭遇しました。

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

最初の 2 つのログ ステートメントは "Guys" を出力します。3番目は空白です。どうしたの?デフォルトの名前空間を指定しましたが、実際には、2 番目のログ ステートメントで使用しているものとまったく同じです。なぜこれが機能しないのですか?

Mozilla のドキュメントは、これが機能することを示唆しています。

4

1 に答える 1

1

Firefox 3 では、コードは期待どおりに実行されます。古いバージョンの Gecko で見つかったバグに遭遇したのではないでしょうか?

于 2009-01-01T10:54:03.643 に答える