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

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

Ответ 1

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

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

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

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

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

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

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

Ответ 2

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

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

ИЗМЕНИТЬ

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

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

Ответ 3

Firefox отключена поддержка E4X в версии 16:

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