JavaScript [jQuery] Script anhalten bis iframe geladen ist?

Black_Panter

Ensign
Registriert
Mai 2006
Beiträge
197
Moin,
ich habe eine Liste an Links, die ich mit einem Script nacheinander in einem iframe automatisiert aufrufen möchte. Dies möchte ich mit "$("#frame").attr("src",newURL);" bewerkstelligen.

Dabei soll das Script mit dem nächsten Aufruf jeweils so lange warten, bis der DOM-Baum svollständig geladen und aufgebaut ist.

In die Website, die aufgerufen werden, soll jedoch kein "$(document).ready()" eingebaut werden.
Gibt es eine funktionalität, mit der ich dies von der aufzurufenden Website aus machen kann?

Wenn ich an die Manipulation des src-Attributes ein load() anhänge wird mir die letzte URL in der Liste in regelmäßigen abständen aufs neue aufgerufen.
Ein angehängtes ".ready()" wurde bei mir immer ignoriert.

Gibt es eine Möglichkeit dies umzusetzen?

Grüße
Sören
 
ich behaupte mal, dass wird so garnicht funktionieren
ein iframe ist ja eine isolierte darstellung, quasi ein eigener browser und kann somit nichts an die seite, in welches es eingebettet ist, zurückgeben.

ein anderer weg wäre über AJAX:
die seite, welche im iframe geladen wird, setzt nach dem vollständigen laden einen status, z.b. via pixelaufruf
dieser status muss von der trägerseite ausgelesen werden
 
rumbalotte schrieb:
quasi ein eigener browser und kann somit nichts an die seite, in welches es eingebettet ist, zurückgeben.
Doch, man kann vom iframe aus auf Attribute/Methoden des Parents zugreifen, womit man einen Callback realisieren kann.

Allerdings setzt das eben die Veraenderung der Seite im iframe voraus, was anscheinend nicht gewuenscht ist. Ausserdem funktioniert es vermutlich nicht ueber Domaingrenzen hinweg.

Im Moment faellt mir aber auch keine andere Loesung ein, die das Veraendern der Seite im iframe nicht voraussetzt. Warum funktioniert onload nicht wie gewuenscht?
 
Zuletzt bearbeitet:
Die Pixellösung ist leider nicht umsetzbar, da ich Black-Box mäßig arbeiten muss.

@character: Die Methode mit $.load() funktioniert nicht wie gewünscht, da die manipulation des "src"-Attributes regelmäßig durchgeführt wird, was nicht gewünscht ist.

Ich habe auch schon probiert die seite per $.ajax() anzufordern. Da habe ich jedoch das Problem, dass der von mir gesetzte Header ignoriert wird.
Ergänzung ()

Ich habe jetzt eine Lösung des Problems:

Ich habe jetzt folgende Lösung gefunden: http://pastebin.com/W97Wu1N0

Wenn ich das Konstrukt mit dem Boolean weg lasse und die Aufrufe mitzählen lasse, bekomme ich ein vielfaches der Länge der Liste am Ende.

Weiß einer woran es liegt, das die Funktion in "load()" immer wieder aufgerufen wird?
 
Zuletzt bearbeitet:
Zurück
Oben