XAJAX IE8 Problem

Heute Morgen hat mir mein Kollege mitgeteilt, dass die Navigation seiner Webseite nicht funktioniert.Diese ruft neue Seiten über xajax(ein simples ajax php Framework) auf. Er hat das Ganze im IE 8 getestet.


Also hab ich so schnell wie möglich den Debug Mode(F12) im IE9 angeworfen, und dort IE8 als Browsermode ausgewählt.

Dann in den „Script“ Tab gewechselt und Start Debugging gewählt!



Siehe da: „Object doesn’t support this property or method
gab er mir als Fehler zurück! Bei der Analyse des Javascripts, blieb er immer beim…

function (){
return new XMLHttpRequest();
}

der „xajax_core.js“ hängen.

Das Problem war, dass der IE8 diese Methode „XMLHttpRequest“ nicht unterstützt. Ich ersetzte diesen Teil also mit einem try/catch block , um alle XML Request Methoden durchzuspielen. Dies sah dann so aus:

function(){
try{
return new XMLHttpRequest();
}catch(e){
try{
return new ActiveXObject('Msxml2.XMLHTTP.4.0');
}catch(e2){
try{
return new ActiveXObject('Msxml2.XMLHTTP');
}catch(e3){
return new ActiveXObject('Microsoft.XMLHTTP')
}
}
}
}
}

Nun funktioniert es auch im IE8 (Firefox, Safari, Chrome… waren nie ein Problem).

Eine kurze Zusammenfassung:

// Mozilla, Opera, Safari sowie Internet Explorer (ab v7 OHNE v8!!!!!)
xmlHttp = new XMLHttpRequest();

 // MS Internet Explorer (ab v6 & IE8)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");


// MS Internet Explorer (ab v5)
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

Leave a Reply