Ajax浏览器版本兼容问题
有个问题纠结了我好久,实在搞不定,求救啊,请各位帮帮忙。似乎是关于浏览器版本兼容问题的,因为我用FireFox,Chrome,IE9测试都没有问题出现,而用IE8或更低的版本就出现问题了,从网上找到一些关于解决Ajax浏览器兼容问题的代码,还有根据在书上看到,其中关于创建XMLHttpRequest写的代码是这样:
JScript code
var XMLHttpReq;
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
window.alert(XMLHttpReq);//测试
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");
window.alert(XMLHttpReq);//测试
} catch (e) {
try {
XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
window.alert(XMLHttpReq);//测试
} catch (e){
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
但是结果却发现:在下面这个语句中:if(window.XMLHttpRequest),无论是FireFox还是IE9,IE8判断出来的竟然都是通过的,但是用XMLHttpReq = new XMLHttpRequest()这一句创建的时候,根据window.alert(XMLHttpReq)发现,FireFox、IE9都是能够正常创建的,但是IE8这里就没有正常创建XMLHttpRequest,根据在网上查到的我知道IE是没法用XMLHttpReq = new XMLHttpRequest()来创建XMLHttpRequest,可在判断window.XMLHttpRequest,想用XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP")来创建XMLHttpRequest都没法实现,请各位高手帮帮忙~~
------解决方案--------------------
现在写一行就能完成这些工作,
XMLHttpReq = window.XMLHttpRequest? new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
就可以了