私はこれを理解しようとしていますが、あまり情報がありません。E4X をサポートしているブラウザーはどれですか? また、E4X がより広く採用されていないのはなぜですか?
4 に答える
E4X をサポートするブラウザ
Mozilla コードベースに基づく Firefox およびその他。
なぜもっと広く採用されないのですか?
DOM などの既存の標準でまだカバーされていない実用的な機能をほとんど提供しないためです。
OK、DOM よりも使いやすいですが、その代償として XML のすべての機能にアクセスすることはできません。完全にばかげた、不必要な XML リテラル/テンプレート構文はセキュリティ上の災害です。完全に静的な htaccess で保護されたドキュメントは、この機能を回避することを心配する必要があります。
XMLHttpRequest の結果にアクセスするためのより簡単な方法として、JSON が完全に勝利しました。XML を完全に処理するには、やはり DOM が必要です。ドキュメントの処理を簡単にするために、奇妙な新しい言語構文を導入することなくそれを行うことができるセレクター、XPath、および JS ライブラリーがあります。
これは、E4X のニッチをあまり残していません。TBH 死んだらいいのに。(ETA: 現在はほぼ完了しています。)
Firefoxはバージョン 16 でE4X のサポートを終了しました。
E4X は非推奨です。Firefox 16 のコンテンツではデフォルトで無効になり、Firefox 17 のクロムではデフォルトで無効になり、Firefox 18 では削除されます。代わりに、DOMParser/DOMSerializer または非ネイティブの JXON アルゴリズムを使用してください。
w3schoolsによると、「現在、Firefox は、E4X を比較的適切にサポートしている唯一のブラウザーです。」
代わりにXPathを試すことができます。XPath はクロスブラウザーではありませんが、この jQuery プラグインのような Javascript ソリューションがいくつかあります。
編集
実際には、プラグインなしで jQuery を使用できます。
$('<xml><some><code>code</code><tag>text</tag></xml></xml>').find('some > code').text()