Kalle_B: IE empfängt Ajax offenbar nur einmal

Beitrag lesen

Hallöle,

meine Seiten teste ich mit Opera und Firefox. Aber wenn ich Langeweile habe, nehme ich auch mal den IE 6 (neuere Versionen laufen ja nicht unter Win2000 - aber vielleicht auf Linux?).

Dann gibt es immer was nachzubessern, zu flicken und zu schrauben. Wie bei einem Oldtimer üblich ;-) Die Fahrer des Oldtimers kennen allerdings keine Kopfstützen, Sicherheitsgurte und Airbags, auch die Nutzer vom IE müssen nicht alles haben, was in den Seiten drinsteckt. Aber trotzdem, das Radio (hier: Ajax) sollte funktionieren ...

Auf dieser Seite wird der Text im iPhone  alle 20 sec per Ajax geholt.

Mich wundert, dass der IE zwar eine Ajax- Abfrage absetzt und die Antwort auch empfängt (mit alert überprüft), aber nur einmal. Jeder weitere Aufruf von getNewContent() gibt das erste Ergebnis zurück, auch wenn die rufende Seite neu geladen wird.

IE meldet zwar den Fehler 'Objekt erforderlich' in Zeile 58:
  otr = ot.tHead.rows[0];
aber die Funktion wird gar nicht aufgerufen. Wahrscheinlich spinnt der bei der Zeilenangabe (zählt der nur die Javascript-Zeilen?).

var http = createRequestObject();  
//===============================  
  function createRequestObject()  
//===============================  
{  
  var objAjax;  
  var browser = navigator.appName;  
  if(browser == "Microsoft Internet Explorer"){  
    objAjax = new ActiveXObject("Microsoft.XMLHTTP");  
  }else{  
    objAjax = new XMLHttpRequest();  
  }  
  return objAjax;  
}  
//==================================================  
  function getNewContent()  
//==================================================  
{  
  var programm = "[PHP_SELF]?zp=p505&anzahl=1&faktor=0.6";  
//alert ( 'getNewContent()' );  
  http.open("get", programm );  
  http.onreadystatechange = updateNewContent;  
  http.send(null);  
  return false;  
}  
//============================  
  function updateNewContent()  
//============================  
{  
  if(http.readyState == 4)  
  {  
//  alert ( 'updateNewContent()' );  
    document.getElementById('von_ajax').innerHTML = http.responseText;  
  }  
}  

Woran liegt das?

Gruß, Kalle