ugrás a tartalomhoz

workaround to make AJAX calls on Internet Explorer 6

Török Gábor · 2007. Ápr. 18. (Sze), 17.37
Alacsony szintű kompatibilitási hack az XMLHttpRequest eléréséhez
 
1

kommentek

wiktor · 2007. Ápr. 18. (Sze), 22.55
Kommenteket átolvasva több sebből vérzik a történet...

IE7 alatt ez felülírja a natív kódot, ugyanis az IE motor kiparsol minden függvénydeklarációt feltételektől függetlenül, így az a helyzet áll elő, hogy az if lefutása előtt felülcsapja a "rendes" metódust az ActiveX-essel. Így már működik IE7 alatt is:
if (!window.XMLHttpRequest) {
	window.XMLHttpRequest = function () {
		return new ActiveXObject('Microsoft.XMLHTTP');
	}
}
A másik probléma, hogy IE alatt nem feltétlenül csak ezzel az ActiveX objektummal oldható meg a XHR, hanem a Msxml2.XMLHTTP-vel is. Ezért terjedt el többnyire a try...catch. Mondjuk fogalmam nincs, hogy miben és mikor más a kettő, sose másztam bele, de gondolom majd valaki megírja ezt is... ;)

További infó:
http://snook.ca/archives/javascript/short_xmlhttprequest_abstraction/