Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

dynamicky Image() sa nenacita pri prvom zobrazeni stranky

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: dynamicky Image() sa nenacita pri prvom zobrazeni stranky

Autor: peta1

15:24:43 19.11.2010

Aha, to hlavni je na konci, google. To je dulezite, kdyz neco nejde, zkusit najit priklad, jak to delaji jiny a porovnat kod.

Citovat příspěvek

 

Re: dynamicky Image() sa nenacita pri prvom zobrazeni stranky

Autor: zokzok

13:53:59 18.11.2010

Ach jo...

img.onload = test();

treba zmenit na:

img.onload = test;

Citovat příspěvek

 

Re: dynamicky Image() sa nenacita pri prvom zobrazeni stranky

Autor: zokzok

12:31:26 18.11.2010

Neviem ci si cital moj post ale tam pisem ze som onload skusal a nefunguje to.

Citovat příspěvek

 

Re: dynamicky Image() sa nenacita pri prvom zobrazeni stranky

Autor: peta1

11:32:45 18.11.2010

img = new Image();
img.src = 'pokus.png';
alert(img.width); // toto vypise 0
Samozrejme, protoze bezi udalost img.onload, ktera funguje jako timer na pozadi, takze zbytek kodu pracuje dal, ale data se teprve nacitaji do pameti. Pokud obrazek nema par bitiku, tak se muze stat, ze to chvilku trva.
Pri F5 dochazi ke kesovani.

Muzes obrazek zakodovat na tvar base64 a pridat do kodu. Coz je asi nej.
Muzes zkusit pridat setTimeout a dat scriptu cas na stazeni obrazku.
Muzes hlidat udalost onload, dokud neni stazeny obrazek a pak teprve pokracovat. Nevyhoda je, ze obrazek je externi soubor a tudiz se pak ceka, az se stahne a jestli ho server posle.
Vygoogluj si jiny priklad, ruzne JS galerie, jak to resi.

Citovat příspěvek

 

dynamicky Image() sa nenacita pri prvom zobrazeni stranky

Autor: zokzok

17:52:30 17.11.2010

Na stranke javascriptom vytvaram image. Pri prvom zobrazeni stranky sa ale obrazok vobec nanacita! Pri dalsom refreshi (F5) uz ano:

img = new Image();
img.src = 'pokus.png';
alert(img.width); // toto vypise 0

Skusal som pouzit onload pre ten image:

function test() {
alert(img.width);
}

img = new Image();
img.onload = test();
img.src = 'pokus.png';

pre istotu som skusil aj opacne poradie:

img = new Image();
img.src = 'pokus.png';
img.onload = test();

Nic. Pri prvom zobrazeni stranky (Chrome 7, Firefox 3.6, Opera 10.63) je proste stale rozmer obrazka 0, po stlaceni F5 uz sa obrazok normalne nacita. Co s tym?

Pozn: ten priklad hore je minimalny test case, v reale src obrazku zistujem ajaxom z db a kreslim to do canvasu, ale efekt je rovnaky - nefunguje to. Dakujem.

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: