| Autor | Zpráva | ||
|---|---|---|---|
| Joker Profil |
#1 · Zasláno: 28. 11. 2007, 23:37:27
Část mého skriptu:
velky_obrazek = new Image(); velky_obrazek.src = url; velky_obrazek.onload = ukazNacteny; funkce ukazNacteny potom ten obrázek zviditelní. Všechno funguje v pořádku... v normálních prohlížečích. Ale IE ignoruje událost onload toho obrázku. Že by to bylo nenačtením obrázku je vyloučené, zkoušel jsem to z disku. Navíc když se ta funkce místo onload načasuje přes setTimeout, funguje to v pořádku. Dotaz: Je to normální chování IE, že v takovém případě na onload nereaguje? Dá se to nějak obejít? |
||
| Bubák Profil |
#2 · Zasláno: 29. 11. 2007, 00:11:10 · Upravil/a: Bubák
Kdysi jsem zkoušel něco podobného:
<script> function schovej() { document.getElementById("obrazek").style.visibility="hidden"; } function zobraz() { document.getElementById("obrazek").style.visibility="visible"; } </script> K vyzkoušení: http://teststranek.kvalitne.cz/obrazek-zobrazit-nacteny.html Ale zlobí to v Opeře, pokud je obrázek v keši, tak se zobrazí až po reloadu sránky. |
||
| los Profil * |
#3 · Zasláno: 29. 11. 2007, 08:37:08
Nastav onload pred tým, než zmeníš src.
|
||
| Joker Profil |
#4 · Zasláno: 29. 11. 2007, 09:18:36
Bubák
V mojí Opeře (9.21) to zdá se funguje normálně. Ovšem v mém případě nemám prvek <img> na stránce, ale jenom objekt Image v JS. Aktualizace problému: zdá se, že se to děje jen někdy. Zkoušel jsem to i přímo na webu a tam se to děje daleko méně často. Ale stejně se to občas stane. Výsledek je tedy ten, že to jakoby funguje, ale občas u nějakého obrázku "zamrzne" preloader. Jo, mimochodem, hodně podobný problém jsem viděl na Novinky.cz v Opeře: pokud je u článku galerie obrázků a současně některé obrázky z té galerie jsou obsažené i jinde v článku, v galerii se jakoby odmítají načíst (je vidět pořád jen preloader)Příklad- dva prostřední obrázky (ty co jsou i v článku) se po kliknutí nezobrazí. Nekoukal jsem, jestli to může souviset s tím co řeším já. |
||
| Bubák Profil |
#5 · Zasláno: 29. 11. 2007, 11:57:25
Joker
Tak jsem se díval a před rokem (13.10.2006 03:34:51) jsem to vyřešil i pro Operu, dal jsem tam nepatrné 10ms zpoždění: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=34 204 |
||
| los Profil * |
#6 · Zasláno: 29. 11. 2007, 12:35:45
Joker
A vymenil si tie dva riadky (img.src=... s img.onload=...)? Bubák To pred rokom bolo zrejme kvôli tomu, že sa funkcia onload vykonala skôr než schovej. Najjednoduchšie riešenie by vtedy bolo nastaviť na začiatku JavaScriptom triedu pre celú stránku (document.documentElement.className = 'js'), pridať pravidlo do štýlu (.js #obrazek {visibility: hidden}) a na onload zobrazovať tak, ako si to mal. |
||
|
Časová prodleva: 19 let
|
|||
0