Hi,
was ich brauche:
per Javascript (kann in diesem Fall als aktiviert vorausgesetzt werden, ebenso wie IE > 5.6, Firefox > 1.0, Opera > 8) sollen aus mehreren HTML-Dokumenten im selben Verzeichnis die Inhalte von Elementen (mit bestimmter Klasse) geholt und ins aktuelle Dokument kopiert werden.
Sinn und Zweck des ganzen:
Anzeigebeispiele (ähnlich wie die bei SelfHTML) - der Pflegeaufwand für die Dokumentation soll reduziert werden, indem der Quelltext der Beispiele aus den Beispielseiten geholt wird.
Mein Ansatz:
per Javascript in einen (unsichtbaren, Javascript-erzeugten) iframe der Reihe nach ein paar HTML-Seiten laden, daraus jeweils den Element-Inhalt eines bestimmten Elements extrahieren und in die eigene Seite kopieren.
Als unproblematisch betrachte ich das Anlegen des iframes sowie das Laden eines Dokuments in diesen iframe.
Auch das Holen der entsprechenden Element-Inhalte sollte kein Problem sein (getElementsByTagName, testen mit className, innerHTML)
Ebenso unproblematisch ist dann das Erzeugen des pre-Elements mit dem entsprechenden TextNode.
Was mir etwas Kopfzerbrechen bereitet, ist das Timing.
Ich kann ja nicht davon ausgehen, daß direkt nachdem dem iframe das neue Dokument zugewiesen wurde dieses Dokument auch schon geladen ist - da liegt ja doch eine gewisse Zeitspanne dazwischen. Ich muß also erkennen können, ob das Dokument im iframe bereits geladen wurde.
Was gibt es da für Möglichkeiten?
Gibt es eine Möglichkeit, die ohne onload-Handler in der im iframe befindlichen Seite auskommt?
Mir sind bis jetzt nur folgende Möglichkeiten eingefallen:
1. in der Seite im iframe wird onload eine Variable erzeugt, deren Existenz kann von der Mutterseite periodisch abgefragt werden, wenn vorhanden, kann weitergemacht werden (leider gibt es ja kein sleep, sondern nur setTimeout/setIntervall, womit das nicht in einer Schleife zu machen ist)
2. die Seite im iframe prüft onload ab, ob sie im frame sitzt (top != self), falls ja, prüft sie auf Existenz einer Funktion im parent und ruft diese ggf. auf
Das iframe-Element hat ja leider kein onload-Attribut, so daß ich dieses nicht nutzen kann, dann wäre wenigstens nichts an der Beispielseite umzubauen ...
Oder hab ich mal wieder was offensichtliches übersehen?
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.