Autor Zpráva
pepepa
Profil *
Ahoj, chtěl jsem se zeptat, jestli je možné pomocí JS při načítání stránky (dynamická fotogalerie v PHP) "počkat" až se načtou všechna data a při tom uživateli nabídnout nějkou alternativu (např. preloader, který by informoval o průběhu nahrávání). Předem děkuji
Joker
Profil
Tak minimálně je možné mít jako preloader samotnou stránku a do ní potom Javascriptem natahat data.
pepepa
Profil *
a to by se relizovalo jak?
Joker
Profil
Myslím to třeba takhle- tělo stránky:
<body>
<p>Zapněte si Javascript a počkejte, až se nahraje obsah...</p>
<script type="text/javascript">
init();
</script>
</body>

a funkce init by se už postarala o vytvoření celého obsahu.
Že to s vypnutým JS nebude fungovat je myslím zřejmé.

Ale asi budou i další metody, tohle je první, co mě napadlo.
pepepa
Profil *
A počkalo by to tedy na to až se ta data načtou?
Joker
Profil
pepepa
Tak samotný kód by se nejdřív vytvořil tím javascriptem a potom zobrazil, takže samozřejmě a obrázky si taky jde Javascriptem "přednačíst".

Ale pokud by šlo jenom o obrázky, tak by to šlo udělat trochu méně "drastickou" metodou, kdy by to fungovalo i bez JS
pepepa
Profil *
no mě jde hlavně o ty obrázky
honzy
Profil
taky by me zajimala te mene drasticka metoda (pisu to, abych si mhol dat oznameni na email - nevim, jak jinak to jde, nez napsat:) )
Joker
Profil
(jsem šel na chvíli pryč ;) )

U obrázků se dá využít fakt, že obrázky se dají načítat i v Javascriptu- schematicky:

<script type="text/javascript">
function nastavit(){
document.getElementById("obrazek").src="nejakyobrazek.jpg";
}

var obrazek = new Image();
obrazek.src = "nejakyobrazek.jpg";
obrazek.onload = nastavit();
</script>

<img src="loading.gif" id="obrazek">


Pro více obrázků by se jednotlivé obrázky načetly do pole
honzy
Profil
parada. diky
Bubák
Profil
Má to jeden nepříjemný vedlejší efekt, budu čekat na načtení stránky, protože vidím, že prohlížeč pořád něco stahuje.
Petroff
Profil
Můžu tě nasměrovat na jednu diskuzi kde se to řešilo (a vyřešilo).
Šlo o to, aby i uživatel s vypnutým JS měl plnohodnotnou stránku (po načtení).
http://programujte.com/forum.php?akce=prispevek&id=3777&sekce=javascri pt-preloader

Poznámka: řešení vyžaduje tu stránku o kterou ti jde upravit (html,css,...)
Hezké by bylo prostě do libovol.dokumentu jen vložit řádek <script src=xxx...></script> a o víc se nestarat = stránka má od teď preloader, pokud je JS vypnutý, chová se jako předtím.
Řešení mám někde "v šuplíku", bohužel používá frameset.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0