J'utilise un XMLHTTP sur IE6 pour délayer le chargement d'une partie d'une page web (qui liste les utilisateurs connectés à un serveur teamspeak => requète longue à effectuer, je veux pas que ça bloque le reste de la page).
Etrangement, IE semble faire la requète de manière synchrone et n'en démord pas. Le même code en remplaçant XMLHTTP par le XMLHttpRequest qui va bien fonctionne correctement.
La situation est compliquée par le fait que je n'ai pas accès au body onLoad, du coup je lance le chargement à la volée avant la fin du chargement de la page.
C'est à dire un vieux <script> dans le corps de la page qui fait ça. Je me demande si ça pourrait être à l'origine du problème ?
Evidemment je pourrais tester, mais vu comment ce truc est foutu (c'est le moteur phpbb), il y a un travail significatif à faire pour utiliser onLoad.
A tout hasard, voilà le morceau de Javascript qui fait ça :
if (window.XMLHttpRequest) { httpRequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } else {...} httpRequest.onreadystatechange = function() { if (httpRequest.readyState == 4) { if (httpRequest.status == 200) { updateTeamspeak(httpRequest.responseXML); } else {...} } } httpRequest.open('GET', 'teamspeak.php' , true); httpRequest.send(null);A priori c'est complètement standard.
Auriez-vous déjà rencontré le problème ? XMLHTTP aurait-il un comportement foireux quand on l'utilise avant la fin du chargement de la page ?