0

FF 3.5 で e4x を含むページをロードすると、ブラウザーの JS 実装に e4x が存在することさえ思い浮かびません。以下のメモですが、ここに私の HTML があります:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>e4x test</title>
    <script type="text/javascript" src="lib/dojo/dojo/dojo.js">
    </script>
    <script type="text/javascript;e4x=1">
        function hello() {
            var x = new XML();
            x = <foo></foo>
            dojo.byId("container").innerHTML = "Print me!" + x.toXMLString();
        }
    </script>
    <script type="text/javascript">
        dojo.addOnLoad(hello);
    </script>
</head>
<body>
<div id="container">
</div>
</body>
</html>

firebug で調べると、x には toString() メソッドがなく、私の IDE (aptana) は XML がオブジェクト型ではないと考えています。誰かが私が間違っていることを知っていますか?

4

2 に答える 2

1

ずっと機能していたと思いますが、ブラウザは「foo」タグを認識せず、レンダリング方法がわからないため、無視します。foo タグの中に何かを入れることで、コンテンツを取り出すことができます。

ところで: new XML() ステートメントはまったく不要です。これを行うことができます:

var x = <foo>bar</foo>;

これにより、新しい XML オブジェクトが作成されます。new XML() と言うのは、new String() と言うのと同じです。できますが、スペースの無駄です。

于 2009-09-03T01:54:38.477 に答える
0

何かを印刷するには、XMLにさらに多くの情報が必要であることがわかりました。たとえば、バーは機能します。理由はわかりませんが、それで修正されました。

于 2009-09-03T01:13:27.683 に答える