Nur kurz, da dies immer wieder einmal ein Thema in E-Mails, Kommentaren und auch Postings in Newsgroups war - und ganz nebenbei auch mich gewurmt hat:
Die "Hänger" beim Aufruf dieser kleine Site ("xyz Elemente werden geladen" in der Statuszeile) und die damit verbundene vorübergehend hohe CPU-Last der iexplore.exe bei Verwendung des Internet Explorer 7 sollten jetzt weitestgehend behoben sein.
Ursache für diese "Hänger" war das "Browser-Kompatibilität"-Plugin von
Serendipity, also der Blog-Software, unter der diese kleine Site läuft. Für Interessierte folgt eine längere -äh- Abhandlung dazu:
Mit diesem Plugin wird unter anderem auch die Anzeige von PNG-Dateien bei Verwendung älterer IE-Versionen durch den "
AlphaImageLoader Filter" aufgerufen, den Microsoft zur Darstellung transparenter PNG-Dateien mit dem IE 5.5 eingeführt hat. Und da die "Kategorienbildchen" auf dieser kleine Site transparente PNG-Dateien sind, wird dieses Plugin aufgerufen, um sie auch unter IE 5.5 und IE6 transparent darzustellen. Dieser "AlphaImageLoader Filter" bewerkstelligt die Darstellung über JavaScript, wobei unter anderem die IE-Version abgefragt wird. Das Ganze funktioniert mit IE 5.5 und IE 6 auch fehlerfrei und ohne größere "Hänger".
Jetzt ist es aber so, dass der IE7 bekanntermaßen (endlich) von Hause aus (einen wesentlichen Teil) von transparenten PNG-Dateien darstellen kann. Ergo funktioniert die Darstellung der "Kategorienbildchen" auch ohne den "AlphaImageLoader Filter". Dummerweise ist es aber so, dass der IE7 im Jahr 2006 erschien und besagtes "Browser-Kompatibiltät"-Plugin der Blog-Software auf dem Stand von 2004 stehen geblieben ist. Damals gab es den IE7 noch nicht (wohl aber eine Reihe anderer Browser, die bereits mit transparenten PNG-Dateien von Hause aus umgehen konnten). Und so bediente sich der Autor eines "netten" Hacks, der in der "pngbehaviour.htc" den "AlphaImageLoader Filter" für IE-Versionen aufruft und wie folgt aussieht:
var supported = /MSIE ((5\.5)|[6789])/.test(navigator.userAgent) &&
navigator.platform == "Win32";
Dies bedeutet, dass der "AlphaImageLoader Filter" (und damit das zugehörige JavaScript) bei
allen Browsern aufgerufen wird, die sich als IE-Versionen ab IE5.5 bis einschließlich IE9 (den es freilich noch lange nicht gibt) zu erkennen geben - ergo auch beim Aufruf der kleinen Site mit dem IE7. Dies mag der IE7 allerdings offensichtlich überhaupt nicht und quittiert den Aufruf des entsprechenden JavaScripts mit besagtem "Hänger" (hohe CPU-Last des Prozesses "iexplore.exe" im Taskmanager) und der Anzeige "xyz Elemente werden geladen" in der Statuszeile.
Wenn man die Ursache erst einmal gefunden hat (seufz), ist die Lösung relativ simpel: Abändern der "pngbehaviour.htc" auf
var supported = /MSIE ((5\.5)|[6])/.test(navigator.userAgent) &&
navigator.platform == "Win32";
so dass der "AlphaImageLoader Filter", also das entsprechende Javascript,
ausschließlich für Browser greift, die sich als IE 5.5 oder IE6 zu erkennen geben.
Hach, war das alles einfach
[Update]
Der "Patch" wird wohl in Serendipity 1.3 enthalten sein, siehe
Serendipity-Forum 