今天看到有兩種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');
}
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