gpt4 book ai didi

javascript - jQuery 和 MSXML

转载 作者:行者123 更新时间:2023-12-01 02:38:47 24 4
gpt4 key购买 nike

MSXML6 应该具有最佳的安全性、性能、可靠性和 W3C 一致性 ( Using the right version of MSXML in Internet Explorer )。

问题:

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

更新:

我根据 Deviant 的回答做了一些研究:

jQuery创建 IXMLHTTPRequest对象,首次发布为 MSXML 2.0 ,像这样:

new ActiveXObject("Microsoft.XMLHTTP");

Microsoft.XMLHTTPProgID ,即only implemented in MSXML3 for legacy support并且不推荐。如果我明白the reference正确地,这将创建一个 2.x 版本的 IXMLHTTPRequest 对象,在这些版本是 “kill-bitted” 之前。 。现在我非常确定这个 ProgID 创建了一个 MSXML 3.0 IXMLHTTPRequest 对象。这可以回答我的第二个问题。

以下示例代码展示了如何创建 IXMLHTTPRequest 对象的两个推荐版本:

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

我已经测试了 MSXML3 与 MSXML6 中的 XSLT 性能。对于相当大的 XML 文件,MSXML6 使用的时间不到 MSXML3 的 1/10!

引用文献:

  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

最佳答案

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 仅使用 MSXML 作为备份,以解决 MS 实现 XmlHttpRequest 中的错误。

我不会说 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

关于javascript - jQuery 和 MSXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com