Feststellen, wann ein Fenster vollständig geladen ist
Ralf
- javascript
Hallo,
ich habe ein Popup, mit dem ich auf das erzeugende Fenster per opener Objekt zugreife. Dies erfolgt in einer per setInterval() aufgerufenen Prüfroutine.
Wenn das erzeugende Fenster neu geladen wird, kann es passieren, dass die Prüfroutine Probleme bekommt, weil das Fenster noch nicht vollständig geladen wurde.
So ist z.B. opener.document.getElementsByTagName("html")[0] undefined oder hat noch nicht die endgültige Länge.
Natürlich kann ich auf "undefined" abfragen und die Länge an zwei aufeinanderfolgenden Durchläufen vergleichen, aber das erzeugt m.E. unnötig Overhead.
Wie kann ich sonst "wissen", wann ein Fenster vollständig geladen wurde? Dass nach dem Laden noch Javascript läuft, welches das Fenster verändern kann, soll unberücksichtigt bleiben.
Ralf
Ich habe zwar keine direkte Antwort gefunden, aber wenn ich statt auf HTML auf BODY abfrage, ist das Problem weitgehend gelöst.
Wenn das HTML Objekt existiert, kann es u.U nur ein HEAD Objekt und noch kein BODY enthalten. Wenn das BODY Objekt vorhanden ist, scheint es in den von mir beobachteten Fällen auch vollständig zu sein - und das reicht mir.
Ob es eine andere Lösung gibt, wäre aber trotzdem interessant ...
Ralf
Ob es eine andere Lösung gibt, wäre aber trotzdem interessant ...
was ist mit 'onload="myOnLoadHandle()"' ?
Ob es eine andere Lösung gibt, wäre aber trotzdem interessant ...
was ist mit 'onload="myOnLoadHandle()"' ?
Es geht darum, aus einem Popup das Hauptfenster zu kontrollieren, auf welches ich VOR dem Laden keinen Einfluss habe ;)
Ralf
Ob es eine andere Lösung gibt, wäre aber trotzdem interessant ...
was ist mit 'onload="myOnLoadHandle()"' ?
Es geht darum, aus einem Popup das Hauptfenster zu kontrollieren, auf welches ich VOR dem Laden keinen Einfluss habe ;)
ah, jetzt... nö, wirste wohl den overhead erzeugen müssen. sind doch nur zwei zeilen ;)
Wenn das HTML Objekt existiert, kann es u.U nur ein HEAD Objekt und noch kein BODY enthalten. Wenn das BODY Objekt vorhanden ist, scheint es in den von mir beobachteten Fällen auch vollständig zu sein - und das reicht mir.
Leider gibt es auch den Fall, dass zwar das BODY Objekt existiert und auch einen Inhalt hat, aber noch längst nicht alle Elemente geladen sind ...
Daher bleibt mir - bis zu einer besseren Lösung - nur der Längenvergleich in zwei aufeinanderfolgenden Durchläufen der Prüfroutine.
Ralf