2009-04-28 12 views
2

MSXML6は、最高のセキュリティ、パフォーマンス、信頼性、およびW3C準拠(Using the right version of MSXML in Internet Explorer)を想定しています。jQueryとMSXML

質問:

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

更新:

私は逸脱者の回答に基づいていくつかの研究を行った:

new ActiveXObject("Microsoft.XMLHTTP");

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

Microsoft.XMLHTTPProgIDであり、only implemented in MSXML3 for legacy support推奨されていません。もし私がthe referenceを正しく理解していれば、バージョン2.x IXMLHTTPRequestオブジェクトが作成されていて、それらのバージョンが“kill-bitted”であったはずです。今私はこのProgIDがMSXML 3.0 IXMLHTTPRequestオブジェクトを作成することを確信しています。これは私の2番目の質問に答えるかもしれません。ここで

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

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

私はMSXML6対MSXML3でXSLTのパフォーマンスをテストしてみました。 MSXML6は、かなり大きなXMLファイルに対してMSXML3と同じ変換を行うのに1/10以下の時間を費やしました!

Rerences:

  1. jQuery: The Write Less, Do More, JavaScript Library
  2. IXMLHTTPRequest
  3. MSXML API History
  4. GUID and ProgID Information
  5. Using the right version of MSXML in Internet Explorer
  6. MSXML 3.0 GUIDs and ProgIDs
  7. MSXML 6.0 GUIDs and ProgIDs
  8. Why Version-Independent GUIDs and ProgIDs Were Removed

答えて

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(); 
}, 

しかし、あなたはあなたのhtmlでMSXMLを使用しようとすると、あなたのサイトはIEのみで動作しますので、それは明らかにFirefoxの/クローム/サファリ/オペラなどでMSXMLを使用することはできません。だから私はそれをすることをお勧めしません。

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

+0

IXMLHTTPRequestは私の答えは – knut

+0

@knutの一部です。回答。あなたの質問はかなり広く曖昧です。あなたは何を達成しようとしていますか? XML/XSLT対jQuery/JSON? jQuery/JSONは当然の選択です。 –

+0

IXMLHTTPRequestが、私は私の中でリンクされたWebブラウザDOMオブジェクトのXMLHttpRequestとは何の関係もないのMicrosoft XML Libの、のインターフェイスでオフになっているので、彼は、彼の質問を変更しMSXML –

関連する問題