Поддержка браузера E4X - PullRequest
       4

Поддержка браузера E4X

10 голосов
/ 13 февраля 2010

Я пытаюсь это выяснить, но информации мало. Какие браузеры поддерживают E4X и почему он не получил широкого распространения?

Ответы [ 3 ]

10 голосов
/ 13 февраля 2010

Какие браузеры поддерживают E4X

Firefox и другие, основанные на кодовой базе Mozilla.

почему он не получил более широкого распространения?

Поскольку он предлагает мало практической функциональности, еще не охваченной существующими стандартами, такими как DOM.

ОК, его проще использовать, чем DOM, но цена, по которой вы не получаете доступ ко всем функциям XML, и совершенно идиотский, ненужный синтаксис литерала / шаблона XML - это беда безопасности , поэтому авторам даже полностью статичных документов, защищенных htaccess, приходится беспокоиться об обходе этой функции.

В качестве более простого метода доступа к результатам XMLHttpRequest JSON полностью победил. Для полноценной обработки XML вам все еще нужен DOM. Для упрощения обработки документов есть селекторы, библиотеки XPath и JS, которые могут это делать без необходимости вводить странный новый синтаксис языка.

Это не оставляет большой ниши для E4X. Я хочу, чтобы он умер. (ETA: сейчас это в значительной степени сделано.)

3 голосов
/ 23 октября 2012

Firefox прекращена поддержка E4X в версии 16:

E4X устарела. Он будет отключен по умолчанию для содержимого в Firefox 16, отключен по умолчанию для chrome в Firefox 17 и удален в Firefox 18. Вместо этого используйте DOMParser / DOMSerializer или не собственный алгоритм JXON.

3 голосов
/ 13 февраля 2010

Согласно w3schools , «Firefox в настоящее время является единственным браузером с относительно хорошей поддержкой E4X».

Вместо этого вы можете попробовать XPath . Хотя XPath не является кросс-браузерным, для него есть несколько Javascript-решений, таких как этот плагин jQuery .

EDIT

Вы можете использовать jQuery без плагина для этого:

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