2010-02-13 15 views
10

Ich versuche das herauszufinden, aber es gibt nicht viele Informationen. Welche Browser unterstützen E4X und warum wird es nicht häufiger verwendet?E4X Browser-Unterstützung

Antwort

3

Laut w3schools "Firefox ist derzeit der einzige Browser mit relativ guter Unterstützung für E4X."

Sie könnten stattdessen XPath versuchen. Obwohl XPath kein Cross-Browser ist, gibt es mehrere Javascript-Lösungen wie this jQuery plugin.

EDIT

Sie tatsächlich jQuery ohne ein Plugin für diese verwenden:

$('<xml><some><code>code</code><tag>text</tag></xml></xml>').find('some > code').text() 
10

Welche Browser E4X

unterstützen

Firefox und andere basiert auf dem Mozilla-Codebasis.

warum ist es nicht weiter verbreitet?

Weil es wenig praktische Funktionalität bietet, die nicht bereits von bestehenden Standards wie DOM abgedeckt wird.

OK, es ist einfacher zu verwenden als DOM, aber als Preis dafür erhalten Sie nicht Zugriff auf alle Funktionen von XML, und die völlig idiotische, unnötige XML-Literal/Templatesyntax ist ein security disaster, macht es so Autoren von sogar vollständig statischen, htaccess-geschützten Dokumenten müssen sich um das Feature kümmern.

Als einfachere Methode für den Zugriff auf die Ergebnisse eines XMLHttpRequest hat JSON völlig gewonnen. Für eine vollständige XML-Verarbeitung benötigen Sie immer noch DOM. Für eine einfachere Handhabung von Dokumenten gibt es Selektoren, XPath- und JS-Bibliotheken, die dies tun können, ohne eine seltsame neue Sprachsyntax einführen zu müssen.

Das lässt nicht viel von einer Nische für E4X. TBH Ich wünschte, es würde sterben. (ETA: es hat jetzt ziemlich getan.)

+1

Ich habe mich an e4x im Flash gewöhnt und habe mich gefragt, warum es außerhalb von Firefox nicht unterstützt wird. Danke und +1. – Amarghosh

+0

E4X ist wirklich nützliche Syntax. Die Art, wie du es beschreibst, du würdest RegExp argumentieren, ist auch schrecklich. Sie dienen ihrem Zweck. Eine andere Sache, die mich nervt, weil ich schimpfe, warum muss es nur eine Möglichkeit geben, Dinge zu tun? Warum kann ich XML nicht anstelle von JSON verwenden? Ich benutze beide BTW. Das ist es, was ich momentan an der Web-Community nicht mag. Außerdem ist @bobince der Link, den Sie gepostet haben, nicht mehr gültig. :( –

+0

Aktualisierter Link nach Google Code Archivierung. Und ja, ich glaube, JS RegExp literale Syntax war auch ein Fehler, wenn auch einer ohne die gleichen negativen Auswirkungen wie E4X hatte. Das Problem, das Sie ohne Regex Literale haben, ist vor allem die zusätzliche Schicht Backslash- Sie müssen sie in ein String-Literal einfügen, andere Sprachen haben dies auf eine allgemeinere und flexiblere Weise mit dem "rohen" String-Literalformat gelöst. – bobince

3

Firefox dropped E4X support in Version 16:

E4X ist veraltet. Es wird standardmäßig für Inhalte in Firefox 16 deaktiviert, standardmäßig für Chrome in Firefox 17 deaktiviert und in Firefox 18 entfernt. Verwenden Sie stattdessen DOMParser/DOMSerializer oder einen nicht nativen JXON-Algorithmus.

Verwandte Themen