[JS] Image - pobieranie rozmiarów

0

napisalem sobie taka funkcje:

// img - sciezka do obrazka
function popup(img){
  pic     = new Image();
  pic.src = img;
  w = pic.width;
  h = pic.height;
  win = window.open('', '', 'width='+w+',height='+h);
  win.moveTo(screen.width/2-w/2, screen.height/2-h/2);
  win.document.open()
  win.document.write('<html><head><title>Obrazek</title></head><body style="margin: 0px;cursor: pointer;"><img src="'+pic.src+'" border="0" alt="Kliknij aby zamkn?ć" onclick="window.close();" /></body></html>');
  win.document.close();
}

a problem jest taki:
przy pierwszym kliknieciu na link wywolujacy funkcje okno otwiera sie z niewlasciwymi wymiarami :/ po zamknieciu i ponownym kliknieciu na link okno otwiera sie juz o wlasciwych wymiarach.
wydaje mi sie ze problem jest w tym ze probuje pobrac wymiary z obiektu w ktorym nie zdazyl sie jeszcze zaladowac obrazek [???]
jak sobie z tym poradzić ??

0

dobrze Ci sie wydaje, jedyne wyjscie jakie masz to rekurencyjne wywolywanie jakiejs funkcji sprawdzajacej wymiary obrazka przez setTimeout do momentu az pojawia sie wlasciwe wymiary...

obiekt image ma jeszcze wlasciwosc complete (boolean) ktora pokazuje czy obrazek jest zaladowany ale z tego co pamietam na ktorejs przegladarce to mi nie dzialalo dlatego pobieralem najpierw wartosc width a potem sprawdzalem kiedy nowo pobrana wartosc bedzie rozna od tej poczatkowej...

1 użytkowników online, w tym zalogowanych: 0, gości: 1