Ajax 中要用到XMLHttp對(duì)象,我見(jiàn)過(guò)各種獲取該對(duì)象的寫(xiě)法,覺(jué)得該寫(xiě)法最優(yōu)雅。首先考慮到了適合不同的瀏覽器;其次考慮到了優(yōu)先加載次序,從高版本向低版本試探,最后若還沒(méi)找到,則拋出異常。
function FactoryXMLHttpRequest() {
if(window.XMLHttpRequest) {
return new XMLHttpRequest();
}else if(window.ActiveXObject) {
var msxmls = new Array(
'Msxml2.XMLHTTP.5.0',
'Msxml2.XMLHTTP.4.0',
'Msxml2.XMLHTTP.3.0',
'Msxml2.XMLHTTP',
'Microsoft.XMLHTTP');
for (var i = 0; i msxmls.length; i++) {
try {
return new ActiveXObject(msxmls[i]);
} catch (e) {
}
}
}
throw new Error("Could not instantiate XMLHttpRequest");
}