function xhr(){
//封装通用的xhr对象兼容各个版本(针对ie7 fireox )
//判断浏览器是否将XMLHttpRequest作为本地对象实现,
if(typeof XMLHttpRequest !="undefined"){
//typeof 返回该对象的类型 如果浏览器不支持则返回的是undefined
return new XMLHttpRequest();
}else if(typeof ActiveXObject != "undefined"){
将所有可能出现的ActiveXObject版本放在一个数组中
var xhrArr = ['Microsoft.XMLHTTP','MSXML2.XMLHTTP.6.0',
'MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP.2.0']
//遍历创建XMLHttpRequest对象
var len = xhr.length;
for(var i = 0; i < len; i++ ){
try{
xhr = new ActiveXOject[xhrArr[i]];
break;
}
catch(ex){
null;
}
} return xhr;
}else{
throw new Error('No XHR object availabel.')
}
}
简易兼容语法
var ajax = null;
if (window.XMLHttpRequest) {
//code for ie7+ Firefox Chrome Opera Safari
ajax = new XMLHttpRequest();
} else {
//code for IE6 IE5
ajax = new ActiveXObject("Microsoft.XMLHTTP")
}
console.log(ajax);