Deswegen habe ich eine Funktion preparePreview erstellt, die per onload Event ausgeführt werden soll (der sch*** IE ruft die aber nicht auf!!!), um z.B. die Stylesheets in den <head> zu schreiben. Übrigens versagt auch hier der IE auf ganzer Linie, indem er das <head>-Element erst garnicht findet:
iFrameHead = iFrame.document.getElementsByTagName("head");
ergibt eine HTMLCollection der Länge 0!
Das mit dem onload ist klar.
Ein iFrame ist ein window, es feuert ein onload wenn die Seite komplett geladen wurde. Das Problem ist, dass du auf das Fenster zwar zugreifen kannst, aber entweder ihm den onload Event zuweisen kannst oder eine neue Seite, beides sollte nicht gehen.
D.h. du hast nur zwei sinnvolle Möglichkeiten, entweder in der Quellseite den onload Event zu feuern oder mit timeouts zu arbeiten.
Oder, was ich für sinnvoller halte, keine neue HTML Seite zu laden, sondern die Seite einfach mit JS aufzubauen, dann kannst du auch leichter deine CSS Datei integrieren.
Struppi.