Wenn du unbedingt im Quirksmode dein Dokument ausliefern willst, muss es am onload liegen, wenn du nochmal eine kurze Verzögerung einbaust funktioniert es. (bei mir reichen 200ms)
Ich habe dies direkt in der Anwendung ausprobiert, ich muss mindestens 1500ms angeben, damit alle Zellen erkannt werden. Je nach Geschwindigkeit des Computers und Komplexität des Dokumentes, nehme ich an, ist das also keine zuverlässige, sondern eine Notlösung (wie wir sie bisher auch hatten).
Außerdem habe ich es mit einer Dokumentenangabe für Strict versucht, das hat keinen Unterschied gebracht, weder im Beispiel noch in der Anwendung. Ich bin mir nicht sicher, ob ich das richtig gemacht habe, ich habe diese Zeilen oben eingefügt:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
War das nicht so, dass der IE automatisch in den Quirks-Mode kommt, wenn etwas nicht in den "Strict-Mode" passt? In der Anwendung passt garantiert vieles nicht...
Schließlich habe ich meine focus()-Methode ausprobiert. Dabei werden in regelmäßigen Abständen die Zellbreite _nicht_ erkannt, dazwischen schon. Deshalb habe ich noch ein Mix aus focus()- und SetTimeOut-Methode versucht. Ich habe beobachtet, dass bei zu kleinen Intervallen für TimeOut etwa 5 Dokumente geladen werden, dann wird für diese von unten nach oben die Javascript-Funktion angewandt (man sieht das dann daran, dass durch focus() immer dorthin gescrollt wird, wo die Funktion aktiv ist), dann werden die nächsten 5 geladen und wieder abgearbeitet. Erst wenn man so viel Zeit lässt, dass alle Dokumente vollständig geladen werden können und danach die Funktion ausgeführt wird, funktioniert sie fehlerfrei. Dazu würden dann bereits 300ms reichen.
Ich fürchte, alles endet mit diesem Zeitproblem: Angenommen, man lässt 5 Sekunden Zeit, dann ist das für User mit schnellen Prozessoren nervig und User, die viele Prozesse im Hintergrund laufen haben oder einen langsameren Computer haben bekommen völlig deformatierte Anzeigen. Vielleicht muss das ganze so gebaut werden, dass die Breite der Tabellenzelle unwichtig ist. Morgen poste ich mehr "Hintergrund".
bis dann,
dartrax