0

当我在 FF 3.5 中加载包含 e4x 的页面时,我不知道 e4x 甚至存在于浏览器的 JS 实现中。下面的注释,但这是我的 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 标签里面放一些东西,你会得到内容。

顺便说一句:新的 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 回答