Hi,
habe es nun durch Rumprobieren herausgefunden: diese Zeile scheint zu stören:
self.xmlHttpReq.setRequestHeader('If-Modified-Since', document.lastModified);
Deine statische HTML-Variante wurde vom Server mit einem Last-Modified-Header ausgeliefert, die dynamische PHP-Variante hingegen nicht.
Scheint Chrome wohl nicht zu passen, einen If-Modified-Since mitzusenden, wenn der Server vorher nicht angezeigt hat, dass er an diesem interessiert sein koennte.
Sie sollte den IE am Cachen hindern, scheint aber ohnehin überflüssig zu sein (es geht jedenfalls auch ohne sie im IE 5.5 bis 8).
Den If-Modified-Since-Header selber mitzuschicken, sollte bei einer korrekten Implementierung von XMLHttpRequest durch den Browser m.E. unnoetig sein - um's Caching hat sich der Browser selber zu kuemmern, wie bei jedem anderen HTTP-Request auch. (Sonst muesste ich als Scriptersteller mich ja konsequenter Weise auch noch mit eventuellen 304 Not Modified-Antworten herumschlagen.)
Der IE hat allerdings Probleme mit Caching bei AJAX-Requests - sofern sie per GET gemacht werden. Wenn man jedoch POST verwendet, macht auch der IE keine Probleme.
MfG ChrisB
„This is the author's opinion, not necessarily that of Starbucks.“