Autor Zpráva
marian80
Profil
Zdravím,
je nejaká možnosť načítať všetky objekty (css, js a hlavne obrázky) na hlavnej stránke tak, aby sa pri otvorení inej podstránky znova nenačítavali zo servera ale už budú "pripravené"?

Druhá otázka, ako by sa dal zobraziť tzv. progress bar pri tomto načítaní? Teda koľko percent už je načítaných?

Ďakujem

Majo
Keeehi
Profil
marian80:
Prostě je na hlavní stránku přidáš. Jediné co je potřeba je pak nějak chytře skrýt. Protože některé způsoby skrytí pak načítání obrázků nespustí. Ale způsobů jak docílit toho, aby nebylo něco vidět je nepřeberné množství.
Další možností je k tomu využít javascript. Ten dokáže spustit načítání zdrojů ze serveru, které jen pak do stránky nepřidá. V prohlížeči už ale jsou. Na tento typ preloadingu existuje hromada už hotových řešení.
Další možností je využít tagu <link rel="preload">
Další možností je, že tyhle zdroje natlačí do prohlížeče sám server. Tady je potřeba zmínit, že je k tomu potřeba HTTP/2 který musí server umět. HTTP/2 v důsledku zase vyžaduje protokol HTTPS, jelikož Chrome a Firefox podporují HTTP/2 jen na zabezpečeném protokolu. Dovolí ti to ale k jednomu požadavku na html dokument v odpovědi přidat více souborů. Zde máš článek který se zabývá HTTP/2 server push ale jsou v něm zmíněné i některé z výše popsaných metod.

Ať už zvolíš jakoukoli metodu, je nutné mít správně nastavené kešování, jinak je celá tvoje snaha k ničemu a naopak vše ještě zhorší.

Druhá otázka, ako by sa dal zobraziť tzv. progress bar pri tomto načítaní? Teda koľko percent už je načítaných?
Progress bar by se sice zobrazit dal, ale nedělej to. Je to ošklivé a zbytečné. Jen tím ukazuješ, že nevíš jak stránku napsat tak aby byla funkční hned po načtení pár základních zdrojů, zatímco se v pozadí načítají ty další.
marian80
Profil
Keeehi:
Ďakujem. Zabudol som upresniť, ide o hru, html,css,js,AJAX, teda ten progress bar tam má svoj význam. Idem pozrieť nejaké to riešenie pomocou javascriptu, ak by si vedel odporučiť dobré a jednoduché riešenie sem s ním :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0