Javascript E4X浏览器支持

Javascript E4X浏览器支持,javascript,e4x,Javascript,E4x,我想弄清楚,但信息不多。哪些浏览器支持E4X,为什么它没有得到更广泛的采用?根据“Firefox是目前唯一一款支持E4X的浏览器。” 你可以试试。尽管XPath不是跨浏览器的,但有几种Javascript解决方案可以解决这一问题 编辑 实际上,您可以在没有插件的情况下使用jQuery: $('<xml><some><code>code</code><tag>text</tag></xml></xml>

我想弄清楚,但信息不多。哪些浏览器支持E4X,为什么它没有得到更广泛的采用?

根据“Firefox是目前唯一一款支持E4X的浏览器。”

你可以试试。尽管XPath不是跨浏览器的,但有几种Javascript解决方案可以解决这一问题

编辑

实际上,您可以在没有插件的情况下使用jQuery:

$('<xml><some><code>code</code><tag>text</tag></xml></xml>').find('some > code').text()
哪些浏览器支持E4X

Firefox和其他基于Mozilla代码库的浏览器

为什么它没有被更广泛地采用

因为它提供的实用功能很少,而现有标准(如DOM)还没有涵盖这些功能

好的,它比DOM更容易使用,但作为代价,您无法访问XML的所有功能,而且完全愚蠢的、不必要的XML文本/模板语法是一种错误,因此即使是受htaccess保护的完全静态文档的作者也不得不担心如何处理该功能

作为访问XMLHttpRequest结果的更简单方法,JSON完全获胜。要进行完整的XML处理,仍然需要DOM。为了更方便地处理文档,有选择器、XPath和JS库可以做到这一点,而无需引入奇怪的新语言语法

这并没有给E4X留下多少利基。我希望它会死。(埃塔:现在已经差不多做到了。)

Firefox第16版:

E4X已被弃用。默认情况下,Firefox 16中的内容将被禁用,Firefox 17中的chrome将被禁用,Firefox 18中的内容将被删除。请改用DOMParser/DOMSerializer或非本机JXON算法


我开发了一个babel插件,通过babel编译向所有浏览器添加E4X基本支持

您还可以使用npm simple4x库将xml字符串解析为类似xml的对象

该插件传输以下E4X:

var fooId='fooId';
var barText='条形文本';
var-xml=
{barText}
;
添加到以下JavaScript:

var XML=newrequire(“simple4x”);
var fooId='fooId';
var barText='条形文本';
var xml=newxml(“+barText+”);

我习惯了flash中的e4x,一直想知道为什么在Firefox之外不支持它。谢谢,+1.E4X是非常有用的语法。您描述它的方式可能会认为RegExp也很糟糕。他们为自己的目的服务。另一件让我恼火的事情是,为什么只有一种方法可以做事情?为什么我不能选择使用XML而不是被迫使用JSON?顺便说一句,这是我现在不喜欢的网络社区。此外,@bobince您发布到的链接不再有效:(Google代码存档后更新了链接。是的,我相信JS RegExp literal语法也是一个错误,尽管它没有E4X那样的负面影响。没有regex literal的问题主要是需要将它们放在字符串文本中的额外反斜杠转义层。其他语言以更通用的方式解决了这个问题使用“原始”字符串文字格式的ic和灵活方式。答案可能应该在Firefox 16/21(通过Gecko和SpiderMonkey)放弃E4X支持的情况下更新。考虑到只是在JS中完成的,这真的非常令人惊讶。