2

MSXML6 は、最高のセキュリティ、パフォーマンス、信頼性、および W3C 準拠を備えていると考えられています ( Internet Explorer で適切なバージョンの MSXML を使用する)。

質問:

  1. jQuery が MSXML6 を使用しないのはなぜですか?
  2. jQuery は MSXML3 を使用しますか? (答えはイエスだと思います。以下の私の更新を参照してください...)
  3. IXMLDOMDocumentインスタンスから MSXML のバージョンを取得できますか? もしそうなら、どのように?

アップデート:

Deviant's answer に基づいていくつかの調査を行いました。

jQueryは、次のようにMSXML 2.0IXMLHTTPRequestで最初にリリースされたオブジェクトを作成します。

new ActiveXObject("Microsoft.XMLHTTP");

Microsoft.XMLHTTPProgIDであり、レガシー サポートのために MSXML3 にのみ実装されており、推奨されていません。参照を正しく理解していれば、バージョン 2.x のIXMLHTTPRequestオブジェクトが作成され、それらのバージョンが「キルビット」</a> になる前に作成されたはずです。これで、この ProgID が MSXML 3.0IXMLHTTPRequestオブジェクトを作成することは間違いありません。これは私の2番目の質問に答えるかもしれません。

IXMLHTTPRequestオブジェクトの 2 つの推奨バージョンを作成する方法を示すサンプル コードを次に示します。

new ActiveXObject("MSXML2.XMLHTTP.3.0"); // MSXML 3.0 ProgID...
new ActiveXObject("MSXML2.XMLHTTP.6.0"); // MSXML 6.0 ProgID...

MSXML3 と MSXML6 で XSLT のパフォーマンスをテストしました。MSXML6 は、非常に大きな XML ファイルに対して MSXML3 と同じ変換を行うのに 1/10 未満の時間しか使用しませんでした!

関連:

  1. jQuery: Write Less, Do More, JavaScript ライブラリ
  2. IXMLHTTPRequest
  3. MSXML API の歴史
  4. GUID および ProgID 情報
  5. Internet Explorer で適切なバージョンの MSXML を使用する
  6. MSXML 3.0 の GUID と ProgID
  7. MSXML 6.0 の GUID と ProgID
  8. バージョンに依存しない GUID と ProgID が削除された理由
4

1 に答える 1

7

jQueryはそうです。ソース:

// Create the request object; Microsoft failed to properly
// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
// This function can be overriden by calling jQuery.ajaxSetup
xhr:function(){
     return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
},

しかし、明らかに Firefox/chrome/safari/opera などでは MSXML を使用できません。そのため、html で MSXML を使用しようとすると、サイトは IE でのみ機能します。したがって、それを行うことはお勧めしません。

jQuery は、MS の XmlHttpRequest の実装におけるバグを回避するためのバックアップとしてのみ MSXML を使用します。

MSXML が XMLHttpRequest 標準に最も準拠しているとは言えません。MSXML は XMLHttpRequest が存在するずっと前から存在していたため、奇妙な比較です。http://www.w3.org/TR/XMLHttpRequest/

jQuery は以前は XML および XPath セレクターをサポートしていましたが、廃止されました。jQuery および XML 用のプラグインがありますhttp://plugins.jquery.com/search/node/xml+type:project_project

通常、JSON は XML よりも優先されます。http://json.org

于 2009-04-29T00:11:00.133 に答える