Hallo,
Die aufgerufene Seite liefert folgendes zurück:
<?xml version="1.0" encoding="ISO-8859-1"?><author><online>1</online></author>
Ok, das ist ja ein komplettes XML-Dokument. Evtl. kannst du mittels xmlHttp.responseXML zuzugreifen. Das liefert ein entsprechendes DOM-Objekt:
if(document.getElementById) {
document.getElementById("counter_online").innerHTML = xmlDoc.getElementsByTagName("online")[0].childNodes[0].nodeValue;
} else if(document.all) {
counter_online.innerHTML = xmlDoc.getElementsByTagName("online")[0].childNodes[0].nodeValue;
}
Denn xmlHttp.responseText ist für Text-Rohdaten gedacht. Du willst ja auch nur reinen Text empfangen, um ihn dann mit
if(document.getElementById) document.getElementById("counter_online").innerHTML = xmlHttp.responseText;
else if(document.all) counter_online.innerHTML = xmlHttp.responseText;
einzusetzen.
Also könntest du doch einfach dafür sorgen, dass dein 'counter_dhtml.php' auch wirklich nur reinen Text schickt, kein komplettes XML-Dokument. Dazu muss auch der richtige HTML-Header geschickt werden, also in 'counter_dhtml.php':
header('Content-Type: text/html; charset=iso-8859-1'); // sorgt für die korrekte Kodierung
header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); // wichtig für IE
Gruß, Don P