首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery和MSXML

jQuery和MSXML
EN

Stack Overflow用户
提问于 2009-04-28 23:47:07
回答 1查看 3.6K关注 0票数 2

MSXML6应该具有最佳的安全性、性能、可靠性和W3C一致性(在中使用MSXML的正确版本)。

问题:

  1. 为什么jQuery不使用MSXML6?
  2. jQuery使用MSXML3吗?(我认为答案是肯定的,见下面的更新)
  3. 我可以从IXMLDOMDocument实例中获取MSXML的版本吗?如果是这样的话,是怎么做的?

更新:

我根据越轨者的回答做了一些研究:

jQuery创建IXMLHTTPRequest对象,该对象最初是用MSXML 2.0发布的,如下所示:

代码语言:javascript
复制
new ActiveXObject("Microsoft.XMLHTTP");

Microsoft.XMLHTTP是一个ProgID,它是仅在MSXML3中实现,用于遗留支持,不推荐。如果我正确理解参考文献,那么在这些版本是“杀人”之前,这就会创建一个2.x版本的IXMLHTTPRequest对象。现在,我非常肯定这个ProgID创建了一个MSXML3.0 IXMLHTTPRequest对象。这可能会回答我的第二个问题。

下面是示例代码,演示如何创建IXMLHTTPRequest对象的两个推荐版本:

代码语言:javascript
复制
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相同的转换!

关系:

  1. jQuery:写得少,做得多,JavaScript库
  2. IXMLHTTPRequest
  3. MSXML历史
  4. GUID与ProgID信息
  5. 在中使用MSXML的正确版本
  6. MSXML 3.0 GUID和ProgID
  7. MSXML 6.0 GUID和ProgID
  8. 为什么独立版本的GUID和ProgID被删除
EN

回答 1

Stack Overflow用户

发布于 2009-04-29 00:11:00

jQuery有。来源:

代码语言:javascript
复制
// 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只使用MSXML作为备份,以避免MS实现XmlHttpRequest中的错误。

我不会说MSXML是最符合XMLHttpRequest标准的。MSXML早在XMLHttpRequest之前就已经存在了,这是一个奇怪的比较。http://www.w3.org/TR/XMLHttpRequest/

jQuery过去支持XML和XPath选择器,但已经被否决了。有用于jQuery和XML 项目的插件

JSON通常比XML更受欢迎。http://json.org

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/800308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档