xhr单体工厂(采用分支)


var SimpleXhrFactory=(function(){
var standard={
createXhrObject:function(){
return new XMLHttpRequest();
}
};
var activeXNew={
createXhrObject:function(){
return new ActiveXObject("Msxml2.XMLHTTP");
}
};
var activeXOld={
createXhrObject:function(){
return new ActiveXObject("Microsoft.XMLHTTP");
}
};

var testObject;
try{
testObject=standard.createXhrObject();
return standard;
}catch(e){
try{
testObject=activeXNew.createXhrObject();
return activeXNew;
}catch(e){
testObject=activeXOld.createXhrObject();
return activeXOld;
}
}
})();

使用
var xhr=SimpleXhrFactory.createXhrObject();

这样就能得到特定环境下的xhr对像,那些特性嗅探只会执行一次

原文地址:https://www.cnblogs.com/zhouzhou163/p/4756079.html