Steffen Flämig: Problem mit noch nicht geladenen Frameinhalt

Hallo,

ich schreibe gerade ein Ajax-Projekt und habe folgendes Problem:

Um die Funktionalität der Vor- und Zurück-Buttons im IE zu gewährleisten
habe ich einen per CSS unsichtbar gemachten iframe eingefügt an dessen
uri ich einen entsprechenden Query-String anhänge und den ich mit einer
JavaScript Funktion alle 200ms prüfe.

Soweit ich mich belesen habe, ist das die übliche Vorgehensweise. Es
funktioniert auch im Prinzip.

Beim Test auf verschiedenen Rechnern/Browsern habe ich aber folgenden
Effekt bemerkt:

Im IE wir die o.g. JavaScript Funktion ständig alle 200ms ausgeführt
was sich mit periodischen Klicken im Lautsprecher bemerkbar macht.

Da die Funktion den Query-String des iframe aber auf den aktuellen
Wert setzt, sollte sie (nach einer Veränderung) nur einmal ausgeführt werden.

Nach langer Suche habe ich bemerkt, dass dieser Effekt nur bei
Rechnern auftrat, die über Modem am Internet hängen und dort auch nur
beim ersten Aufruf der Seite, nach einem Relaod funktionierts wie
gewünscht.

Ich vermute nun, dass der iframe einfach noch nicht vollständig
geladen ist.

Kann man dem Laden des iframe irgendwie eine höhere Priorität geben?

Oder kann man den Ladezustand des iframe per JavaScript abfragen?

MfG

Steffen

  1. Hi

    Oder kann man den Ladezustand des iframe per JavaScript abfragen?

    Die darin geladene Datei kann natürlich per onload eine Funktion starten, die dem übergeordneten Frameset mitteilt "Hallo, ich bin vollständig" bzw. dort deine Interval-Funktion startet.

    MfG

    Steffen

    1. Hallo,

      Oder kann man den Ladezustand des iframe per JavaScript abfragen?

      Die darin geladene Datei kann natürlich per onload eine Funktion starten, die dem übergeordneten Frameset mitteilt "Hallo, ich bin vollständig" bzw. dort deine Interval-Funktion startet.

      Wenn ich dem iframe.html einen <body anLoad=test()> verpasse und die
      JavaScript Funktion dann in einer in der index.html einegebundenen .js
      Datei definiere, sagt mir die Firefox Fehlerkonsole: test is not
      defined.

      Wie kann ich also eine JavaScript Funktion aus einen iframe heraus
      aufrufen?

      Gruß

      Steffen

      1. auf eine Funktion in einem übergeordneten Fenster aus einem Frame oder IFrame herausgreifst du zB. über parent zu

        Gruß
        Fritz