Autor Zpráva
endlife
Profil *
zdravím,
mám docela zajímavý, ale docela kritický problém :)

přiblížím problém:

načítám obrázky do stránky javascriptem - změnou src parametru - a chci, aby se tento obrázek zobrazil vždy až poté, co je kompletně naloadován, tudíž načítám takto:

document.getElementById('obrazek').src = zdroj;
obrazek.onload = document.getElementById('obrazek').style.display='block';


problém přichází poté, co chci stejný obrázek zobrazit podruhé. obrázek je pravděpodobně už nějak načtený v cashi & prohlížeč ví, že je načtený do stránky, tak se při druhém zobrazení neprovedou příkazy vázané na událost onload a obrázek se nezobrazí.

takže mám dotaz - dá se nějak vydetekovat, že obrázek s názvem xyz.jpg již byl do stránky načten?

projevuje se to stejně v opeře 7.5 a IE6

dík za jakoukoli pomoc

-endlife-
Yuhů
Profil
Pokud vím, tak se to zjistit nedá.

Moje řešení obvykle přidává při načtení (onload) obrázku nějakou proměnnou nebo ji plní hodnotou. Například rozvinu výše zmíněný kód:

<script>
var promenna = false;

function stazeno(){
document.getElementById('obrazek').style.display='block';
promenna = true;
}

document.getElementById('obrazek').src = zdroj;
obrazek.onload = stazeno;

</script>

a potom při práci s druhým obrázkem

if(promenna){/* něco se udělá */}

netestováno.
endlife
Profil *
díky moc,
předpokládal jsem to, takže teď už zbývá jenom implementace :)

eh, se teda těším ;-)
endlife
Profil *
už to mám hotové, ale ještě jsem narazil na jednu věc - existuje nějaká metoda, která by zjišťovala, jestli je určitá proměnná definovaná?

abych na začátku nemusel definovat pro všechny obrázky false stav..
Toto téma je uzamčeno. Odpověď nelze zaslat.