Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
#1 · Zasláno: 19. 9. 2016, 11:10:59
Řeším problém, který jsem už načal v tomto vlákně: Jak vytvořit preload animaci po odeslání formuláře?
Ve stručnosti: po odeslání formuláře trvá nějakou dobu než se zpracují data. Proto tam mám na vstupující stránce funkci flush() , pomocí, které načtu první část stránky včetně animovaného spinneru. Po dokončení zpracování dat se odešle zbytek stránky a spinner zmizí.
Problém je ten, že základní konstrukce stránky vypadá zhruba takto: <div id="header"></div> <div id="left-part" style="float:left"></div><div id="main-part" style="float:right"></div> <div id="sticky-footer"></div> V main-part je vždy umístěn faktický obsah stránky.
Zatím jsem to měl udělané tak, že jsem pomocí té funkce flush() zobrazil tu část před main-part a po zpracování dat ten zbytek.
Ale není to úplně ono, protože půlka stránky při načítání nevypadá moc dobře. Proto bych spíš chtěl tou funkcí flush() zobrazit celou stránku a následně po načtení do toho elementu main-part vložit obsah, na který se čeká.
Napadlo mě to vyřešit javascriptem, kdy bych po načtení vložil na konec script a do něj dal $("#main-part").html(obsah_stranky);
Problém je trochu ten, že nevím jestli jsou všechny prohlížeče ok s tím že <script> následuje až po </html> a není uvnitř a pak taky to, že ten obsah_stranky je opravdu obsáhlej. Tak nevím jak moc je to náročný pro prohlížeč mít v jedné proměnné tolik dat.
Další možnost, která mě napadla by bylo nějak po načtení stránky javascriptem smazat všechno od main-part dolů, ten celý konec stránky a následně tam vypsat main-part i s obsahem a zbytek stránky znovu.
Ale to druhý řešení mi připadá moc komplikovaný a neumím si představit, že by fungovalo dobře.. Nemáte prosím někdo nějaký nápady jak by tohle šlo vyřešit? |
||
Keeehi Profil |
#2 · Zasláno: 19. 9. 2016, 12:23:29
quatzael:
Ještě je tu jedna možnost. Ten spinner zobrazit už na stránce, která formulář odesílá. Tedy formulář odeslat AJAXem nebo do skrytého iframu, a zobrazit spinner. Po dokončení zpracování už jen přesměrovat kam potřebuješ. |
||
quatzael Profil |
#3 · Zasláno: 19. 9. 2016, 12:47:41
Keeehi:
To vypadá asi jako nejlepší řešení. Díky moc za radu! |
||
Časová prodleva: 8 let
|
0