Struppi: bug? beim laden via img = new Image();

Beitrag lesen

hallo,

folgendes problem:

function laden(ref) {
  var img = new Image(); img.src = ref;
  var iw = img.width;
  var ih = img.height;
  alert (iw+' ' +ih);
  // liefert beim ersten klick "50 50" bei jedem      weiteren "600 600" obwohl sich das file ref nicht ändert
  msgWin=window.open(ref, 'imgwin1', 'resizable=yes,                                                          scrollbars=yes, width='+iw+', height='+ih+');
}

Du musst warten, bis das Bild geladen ist und das geht zuverlässiger als in der Variante die LenaLuna beschrieben hat, mit onload.

function laden(ref) {
var img = new Image();
img.onload = fertig;
img.onerror = function () { alert(this.src + ' konnte nicht geladen werden.');};
img.src = ref;
}

function fertig()
{
var img = this;
var iw = img.width;
var ih = img.height;
alert (iw+' ' +ih);
msgWin=window.open(ref, 'imgwin1',
'resizable=yes,scrollbars=yes,width='+iw+',height='+ih+');
}

Du solltest übrigens keine Leerzeichen in den Parameter von window.open machen, die bringen NC 4. aus den Tritt.

Struppi.