MSXML2.XMLHttp.6.0与 Microsoft.XMLHTTp有什么区别?

今天看到有两种IE创建XMLHttpRequset对象的方式,不知道哪种正确,哪位能解惑一下,谢谢:
第一种:

if(window.ActiveXObject){
    var version = [
        'MSXML2.XMLHttp.6.0',
        'MSXML2.XMLHttp.3.0',
        'MSXML2.XMLHttp'
    ];
    for(var i=0; i<version.length; i++){
        try{
            return new ActiveXObject(version[i]);
        }catch(e){
            //skip
        }
    }
}else{
    throw new Error('does not support XHR');
}

第二种:

if(window.ActiveXObject){
    return new ActiveXObject('Microsoft.XMLHTTP');
} 

2个回答

Msxml2.XMLHTTP是高版本,受msxml3.dll+支持

Microsoft.XMLHTTP是低本,一般是msxml2.6以下版本使用

知识普及:

msxml指微软的xml语言解析器,用来解释xml语言的。就好像html文本下载到本地,浏览器会检查html的语法,解释html文本然后显示出来一样。要使用xml文件就一定要用到xml parser。不过不仅仅微软有,像ibm,sun都有自己的xml
parser。

它的全名是:「Microsoft XML Core Services」,主要是用来执行或开发经由 XML 所设计的最新应用程序。微软正式发布了其XML的核心服务组件---MSXML 4.0。和MSXML 3.0相比,MSXML 4.0提供了大量的新功能和功能改进。其中包括:对XML模式语言的支持,更快的分析器和XSLT引擎,对XML流更好的处理,更好的一致性支持。MSXML
4.0并不是MSXML 3.0的替代产品,因为在3.0中的一些过时功能已经在4.0中彻底去除了。所以4.0可以和3.0(甚至更早的版本)同时安装。

可以参考这个
http://m.blog.csdn.net/blog/hellomaya007/8758863

yishuixs
yishuixs 哦,那么给IE做兼容的话,需不需要做Microsoft.XMLHttp这个版本的兼容?
接近 5 年之前 回复

function InitMf()
{
var mf_change=false;
try
{
mf_change = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
......
答案就在这里:Msxml2.XMLHTTP和Microsoft.XMLHTTP有什么区别?
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐