Axel Richter: TimeOut-Warnung bei Popup, doch warum?

Beitrag lesen

Hallo,

Bis jetzt habe ich das Script schon x-mal auseinandergenommen,
konnte aber keine Ursache für diese Verzögerung finden.

Hier der Quellcode:

var win;
function popup(nm,par)

...

var bild=new Image();
  bild.src="../Daten/"+nm;

...

do{b=bild.width;h=bild.height;}
  while(b==0 && h==0)

^Diese Schleife ist wahrscheinlich Ursache für die Warnung des IE.

Ein besserer Ansatz, als in einer Schleife zu warten, bis bild.width bzw. bild.height einen Wert>0 haben, ist, das Popup-Fenster _mit_ der Bildreferenz zunächst in einer beliebigen Größe zu öffnen und es dann, bei Auftreten des Ereignisses bild.onload entsprechend in der Größe zu verändern.

So wie hier: http://javascript.jstruebig.de/skripte/7/

Das stellt einmal sicher, dass das Bild auch wirlich geladen wird (Ich kann mir vorstellen, dass einige Browser das nur wegen einer Wertzuweisung an die src-Eigenschaft eines Image-Objektes nicht tun.) und außerdem ist das onload-Ereignis ein besserer Anzeiger für den Ladezustand des Bildes.

viele Grüße

Axel