Autor Zpráva
gogoda
Profil
Zdravím,

chci se zeptat, jestli jde nějak určit pořadí načítání obrázků. Mám momentálně web. mám tam uvodní loading page, který zmizí, když se načtou všechny obrázky atd. prostě až se web načte celý. To je zatím v pořádku.

Jde mi o to, že tam mám náhledy obrázků a chci, aby když se klikne na náhled, objeví se popup, kde bude text a velký (datově) obrázek.

Tak a problém je v tom, že chci, aby web fungoval tak, že se nejdřív načte celá stránka, a potom teprve na před načítali ty velký obrázky. Nechci aby se načítali na začátku s celým webem, za prvé to bude trvat dlouho a né každý rozklikne všechny náhledy.

Takže chci aby to funovalo takhle: loading stránka, která zmizí, když se načte celá stránka a hned po tom se dál teprve načítali ty velký obrázky, zatím co brouzdám po stránce. Díky
Taurus
Profil
Věřím, že ti někdo poradí, jen sem vložím takovou vsuvku. Z hlediska použitelnosti je strašně otravné čekat na načtení webu tím, že budu čučet na loading – a někdy jen kvůli zbytečným drobnostem, které si můj čas nezaslouží. Takové weby jsou sice moderní a efektní, ale otravné.
gogoda
Profil
Taurus:
To bych nechal na jidou diskuzi, zda je t odobré nebo ne. Záleží na situaci, když jde třeba o portfolio (jako v mém případě), je asi lepší když se ti pak našte vše než aby si vlezl na stránku, kde půlka věcí chybí. Také při dnešní rychlsoti internetu není problém stránku načíst, optimalizovaná je, i na mobilu s vyčerpaným FUP se to načte do cca 6 sekund (při úplně prvném spuštění na zařízení). Na každopádně proto chci vyřešit tento problém, abych nemusel načítat třeba 20-30MB najednou ;)
Keeehi
Profil
Když vezmu rychlost třeba O2 po FUP (64kbit/s) tak za 6 sekund se v nejlepším případě načíst 48kB dat, tj dvacetina 1MB. Nevěřím, že máte tak malou stránku. Úvodní stránka tohoto fóra kde je jen minimum obrázků má 192kB což je 4x více. Nicméně pokud by ses do 48kB vešel, tak zas nepotrebuješ žádný loading screen. Protože kromě těch mobilů po FUPu to všude poběží rychlostí blesku.

K původnímu problému,
obrázky, co chceš načítat hned měj v HTML/CSS. Ty co až později se nesmí v kódu objevit. Když se dočte první vlna a loadnig page zmizí, spustí se jejich dotažení javascriptem. Třeba takto:
var images = new Array()
function preload() {
    for (i = 0; i < preload.arguments.length; i++) {
        images[i] = new Image()
        images[i].src = preload.arguments[i]
    }
}

preload(
    "http://domain.tld/gallery/image-001.jpg",
    "http://domain.tld/gallery/image-002.jpg",
    "http://domain.tld/gallery/image-003.jpg"
)
Chamurappi
Profil
Reaguji na gogodu:
je asi lepší když se ti pak načte vše než aby si vlezl na stránku, kde půlka věcí chybí
Není. Překazit plynulost načítání má smysl pouze tam, kde potřebuješ mít výsledný obrázek nezbytně okamžitě k dispozici. Třeba v nějaké akční hře, kde se má nečekaně zjevit protivník, je žádoucí, aby se zjevil opravdu hned a nedotahoval se dlouze.
Normální web něco takového nepotřebuje a jen si tím ublíží.
Je zvláštní, že si každých pár let někdo usmyslí, že teď to bude jinak. Už někdy od konce devadesátých let (tehdy hlavně díky flashům) je známé, že to je nesmysl.

Také při dnešní rychlsoti internetu není problém stránku načíst, optimalizovaná je
Tak proč ji vůbec zdržuješ načítáním loadingu?


Reaguji na Keeehiho:
Kde máš var i? Je nutné mít images globální?

preload.arguments
Raději bych psal jen arguments.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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