您的位置:首页 > 其它

惰性思想处理Ajax低版本IE兼容问题

2016-06-17 20:30 232 查看
博客管理

惰性思想处理Ajax低版本IE兼容问题

function createXHR() {

//->首先把我们在不同浏览器中创建XHR的操作分成四个方法分别存在一个数组中

var xhr = null,

ary = [

function () {

return new XMLHttpRequest;

},

function () {

return new ActiveXObject(“Microsoft.XMLHTTP”);

},

function () {

return new ActiveXObject(“Msxml2.XMLHTTP”);

},

function () {

return new ActiveXObject(“Msxml3.XMLHTTP”);

}

];

//->第二步:循环数组中的每一个方法,让这些方法执行,如果执行不出现错误,说明这个小方法可以在当前的浏览器中创建XHR,反之如果执行报错,说明不可以,我们则继续执行后续的方法…

for (var i = 0, len = ary.length; i < len; i++) {

var curFn = ary[i];

try {

xhr = curFn();

} catch (e) {

//->执行报错,继续验证数组中的下一个方法

continue;

}

//->执行没有报错,不需要在验证后续的方法了,结束循环即可;除此之外,我们用当前的这个小方法把我们的大方法createXHR替换掉,第二次在执行createXHR这个方法,直接执行的就是我们的这小方法了

createXHR = curFn;

break;

}

return xhr;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax