moe: Internet Explorer und setTimeout() - Probleme

Beitrag lesen

Hallo miteinander!

Ich arbeite momentan gerade an einem AJAX/PHP Chat und habe ein kleines Problem mit dem Internet Explorer. Und zwar hab ich eine Funktion zum abrufen der neuen Nachrichten im Chat, welche stark vereinfach so aussieht:

  
function ajax_read() {  
    xmlhttp.onreadystatechange = function() {  
        if (xmlhttp.readyState==4) {  
            chatresponse = xmlhttp.responseText;  
            if (chatresponse.length > 0 ){  
                document.getElementById("i_chatwindow").innerHTML += chatresponse ;  
            }  
            setTimeout("ajax_read()", 1000);  
        }  
    }  
    url = "../func/chat_read.php?sid=09u125gsabd4oifcirq3b0dk24&lastid=" + lastid ;  
    xmlhttp.open('GET',url,true);  
    xmlhttp.send(null);  
}

simpel gesagt geht es um die Funktion setTimeout im Code, welche dafür sorgen sollte, das nach jedem erfolgreichem Request (xmlhttp.readystate == 4) nach 1000ms eine neue AJAX-Anfrage an den Chat gesendet wird. Das Funktioniert prima im FF und in Opera wie gesagt, nur der IE verweigert jegliche zusammenarbeit :(. Ich habe schon rausgefunden das es offenbar daran liegen muss, das ich die Funktion ajax_read aufrufe, weil wenn ich nur einen timeout mit einem Alert mache geht das. Gibts da einen besonderen Kniff oder sehe ich etwas nicht?

Wäre dankbar für jede Antwort.