MSXML6 应该具有最好的安全性、性能、可靠性和 W3C 一致性(在 Internet Explorer 中使用正确版本的 MSXML)。
问题:
- 为什么 jQuery 不使用 MSXML6?
- jQuery 是否使用 MSXML3?(我认为答案是肯定的,请参阅下面的更新...)
- 我可以从
IXMLDOMDocument
实例中获取 MSXML 的版本吗?如果是这样,怎么做?
更新:
我根据 Deviant 的回答做了一些研究:
jQuery创建IXMLHTTPRequest
对象,该对象最初是与MSXML 2.0一起发布的,如下所示:
new ActiveXObject("Microsoft.XMLHTTP");
Microsoft.XMLHTTP
是一个ProgID,它仅在 MSXML3 中实现以提供旧版支持,不推荐使用。如果我正确理解引用,这将创建一个版本 2.xIXMLHTTPRequest
对象,在这些版本被“扼杀”之前。</a>。现在我很确定这个 ProgID 创建了一个 MSXML 3.0IXMLHTTPRequest
对象。这可能会回答我的第二个问题。
以下示例代码展示了如何创建IXMLHTTPRequest
对象的两个推荐版本:
new ActiveXObject("MSXML2.XMLHTTP.3.0"); // MSXML 3.0 ProgID...
new ActiveXObject("MSXML2.XMLHTTP.6.0"); // MSXML 6.0 ProgID...
我已经在 MSXML3 和 MSXML6 中测试了 XSLT 的性能。MSXML6 用不到 1/10 的时间来对一个相当大的 XML 文件进行与 MSXML3 相同的转换!
参考资料: