Msie dom

Status
Niet open voor verdere reacties.

Lapixx

Gebruiker
Lid geworden
2 mei 2008
Berichten
132
Hoi, ik ben bezig met het maken van een op javascript gebaseerde web applicatie. Momenteel heb ik een soort chat systeem gemaakt, die met behulp van een XHR een xml document opvraagt waar berichten instaan. Een voorbeeld van dit document (PHP gegenereerd) is:

Code:
<messages>
<msg id="5" user="Piet">hallo</msg>
<msg id="6" user="Jan">hoir</msg>
<msg id="7" user="Piet">andere tekst</msg>
</messages>

Nu laat ik de MSG tags uitlezen in Javascript, en vervolgens DIVs op de pagina plaatsen om de berichten weer te geven. Dit werkt in principe goed in alle browsers, ook oudere versies van MSIE, maar niet in de nieuwste versie van MSIE.

Berichten worden verstuurd en ontvangen door het XHR, maar MSIE (nieuwste) geeft steeds aan dat het aantal berichten 0 is:

PHP:
incoming=transport.responseXML.documentElement; //var transport is het ID van het XHR
	messages=incoming.getElementsByTagName("msg");
	
	field=document.getElementById("box");
	for(i=0; i<messages.length; i++){ //messages.length blijkt in MSIE dus 0 te zijn, terwijl dat niet het geval is in andere browsers
		nid=messages[i].getAttribute('id');
			lastid=nid;
			from=messages[i].getAttribute('user');

			nuse=document.createTextNode(from+":");
			nbol=document.createElement('b');
			nbol.appendChild(nuse);

			current=messages[i].firstChild.nodeValue;
			ntxt=document.createTextNode(current);

			nma=document.createElement("div");
                        nma.appendChild(nbol);
			nma.appendChild(ntxt);
		
			field.insertBefore(nma,field.firstChild);
	}

Alvast bedankt
 
Ik kan niks fout vinden in het script. Het enige wat ik me voor kan stellen is dat IE (welke versie eigenlijk, 7 of 8?) een leeg document geeft als responseXML. Je zou kunnen kijken hoeveel child elementen het document element heeft. Als het document element niet bestaat of 0 children heeft dan gaat er hoogst waarschijnlijk iets fout bij het XHR. Kun je de volledige code misschien weergeven?
 
Zit wat in, zal even alles nog eens nakijken en editen als ik wat vind.

OPGELOST:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

in het PHP bestand lost alles op. Blijkbaar heeft MSIE 6 een ander beleid wat betreft het cachen van pagina's :')
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan