Hallo!
nach zwei Wochen Googeln und ausprobieren bin ich mit meinem Latein am Ende - un dhab nur noch euch als letzte Hoffnung.
Aufgabe: Mit Javascript mehrere HTML-Seiten öffnen und den Inhalt in eine anderen Seite als fortlaufendes Dokument hineinschreiben.
Eigentlich gar kein Problem:
for (var i = 0; i
Im Prinzip tut's das auch - wenn die Daten lokal vorliegen und der Rechner die Leistungsfähigkeit einer Antiquität hat. Aber je schneller der Rechner ist und/oder je langsamer die Datenanlieferung, desto weniger wird umkopiert - weil JavaScript nicht wartet, bis die Datei komplett geladen wurde, sondern sofort umkopiert, was halt schon da ist und dann weitermacht.
Und da häng ich. Ich brauch im Prinzip eine Funktion, die den Ladezustand überprüft sowie eine Pausenschleife, die darauf wartet, das alles geladen wurde (wobei alles bevorzugt nur den body-Anteil ausmacht - referenzierte Graphiken, Scripte und StyleSheets brauch ich ja erst mal nicht. Aber mittlerweile würd ich mich auch mit wirklich allem abfinden, wenn's nur überhaupt gehen würde . . .)
window.onload tut's nicht. Damit kann man offensichtlich nur das eigene Fenster abfragen, nicht jedoch ein frisch geöffnetes. Egal, was und wie ich damit herumprobiert habe, die Funktion dahinter wurde nie aufgerufen.
c.document.getElementsByTagName('body')[0]. **innerHTML**
liefert wie es sein sollte den Inhalt,
c.document.getElementsByTagName('body')[0]. **complete**
ist jedoch für alle Ewigkeiten "undefined". Opera macht dann weiter wie gehabt, Firefox bricht das Script einfach ab.
Gleiches Ergebnis hab ich beim Versuch, mittels Id auf den letzten Absatz oder Div-Bereich im Text zuzugreifen.
Der Versuch über document.images[i].complete zu gehen war auch eine Bruchlandung. Die Browser melden sogar complete, wenn's das Bild gar nicht gibt (_Anzeigebeispiel: So sieht's aus_ bei http://de.selfhtml.org/javascript/objekte/images.htm#complete)!
Das einzige, was so halbwegs funktioniert hat, war ein wüster Hack, bei dem jede einzelne Seite ein kleines Script { fertig =1 } mittels body onload aufgerufen hat, in dem Zusammen-Setz-Script gabs dann eine Endlos-Schleife
while ( c.fertig != 1 ) { }
Das hat wenigstens bei Opera funktioniert (Firefox hat auch hier wieder nur "undefined" gemeldet und die Script-Verarbeitung abgebrochen), aber auch hier mit Abzügen in der B-Note für den stylistischen Eindruck und darüber hinaus mit 100% CPU-Last.
Das kann's doch irgendwie nicht sein . . .
Ihr seht: Ich bin schwer Hilfsbedürftig :smiley:
Hat irgendeine 'ne Idee, wie ich den Ladestatus meiner frisch geöffneten Seiten überwachen kann?
Heissen Dank für jeden Tipp!
mabuse