Ajax 中要用到XMLHttp對象,我見過各種獲取該對象的寫法,覺得該寫法最優雅。首先考慮到了適合不同的瀏覽器;其次考慮到了優先加載次序,從高版本向低版本試探,最后若還沒找到,則拋出異常。
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");
}