[jQuery] Div-Größe nach laden von Flash auslesen

kuhlmaehn

Erfahrenes Mitglied
Hi,
ich hab ein Problem bei folgendem "Szenario":
Ein Div hat keine feste Höhe und es steht zunächst Text beliebiger Länge in ihm. Jetzt wird mit jQuery dynamisch ein Flash nachgeladen. Genauer wird ein Object-Tag geschrieben, welches auch Höhe und Breite angegeben hat. Nach dem Laden sieht es also so aus:
Code:
<div id="hu">
  text<br>
  texttext
  <object width="611" height="418" ...>
  ...
  </object>
</div>
Jetzt führe ich gleich nachdem mit jQuery das Flash geladen wurde folgende Zeile aus:
Code:
var a = $("#hu").length();
Das Problem ist nun, dass die Höhe aber erst stimmt, wenn das Flash komplett geladen wurde. Das heißt, obwohl das Object-Tag ja die Höhe angegeben hat, ließt jQuery erst die richtige Höhe aus nachdem das Flash geladen ist. Der "Fehler" tritt daher auch nur nach dem leeren des Caches auf.
Komme ich jetzt irgendwie verlässlich an die Höhe heran?
Danke!
 
Ich hab mal einen kleinen Test gebastelt. Aber irgendwie sehe ich keine Lösung für dieses Problem. Warscheinlich hängt das damit zusammen, wie jQuery an die Höhe kommt!?

[edit]
Jetzt merke ich gerade, dass das z.B. im Opera und in Firefox nicht klappt, im IE und Safarie aber schon. Merkwürdig...
 

Anhänge

Zuletzt bearbeitet:
Hi und danke für die Ideen. Es geht leider allgemein um Flashs und ich kann auch keine Bibliotheken einbinden. Es geht nur um ein zu schreibendes jQuery-Plugin. Ich hatte auch schon an eine Callback-Funktion von den Flashs gedacht aber dafür müsste man ja die Flash anpassen, was leider nicht möglich ist.
Ich hatte auch folgendes probiert:
Code:
$("object").load(...);
aber load funktioniert ja leider nicht für "object".
Offenbar handelt es sich ja dann wirklich um die Art und Weise, wie die Browser das laden von Flashs und das ausführen von Javascripten synchronisieren...

[edit]
onresize auf den div würde auch klappen aber das gibt es wieder im IE aber im Firefox nicht. Obwohl bei w3school steht, dass div onresize unterstützt...
 
Zuletzt bearbeitet:
Zurück