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对像,那些特性嗅探只会执行一次

 

posted on 2015-08-24 22:12  allenzhou  阅读(174)  评论(0)    收藏  举报