Diskuze: Problikávání při načtení efektu do stránky
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, pokud přecházíš mezi jednotivími stránkami, tak ti to vždy
problikne. Pokud je to vhodné pro tvou aplikaci, tak řešením by bylo
použít třeba AJAX. Kdy jsi schopen načíst data jiné stránky na pozadí
asynchronně skrze javascript. A ty pak na dané stránce vyměnit.
V header jsem to nezkoušel zkusím. To je ryhlejší?
To by ale byl stejný problém ne?
Áno, bude to to isté, nemá zmysel to dávať do header. Jediné spoľahlivé riešenie je také, ako napísal Martin Donát - neopustiť stránku, nový obsah načítať na pozadí AJAX-om. Na čo ale treba samozrejme prerobiť celý web...
Pokud to chces nacist pred strankou, tak lze pouzit inline js, jak psal gold604, ale asi je jedno, zda je v hlavicce a nebo na zacatku body. Ne kazdy prohlizec se s tim popere stejne, takze by to bylo nespolehlive.
Bez problikavani lze pouzit jen ajax, nacitat stranky na pozadi.
Neco malo umi tusim IE, transition efekt v hlavicce pres meta. Umi z jedne stranky plynule zobrazit jinou pres opacitu.
<meta http-equiv="Page-Enter" content="revealTrans(Duration=**,Transition=?)">
Díky za rady. Trochu jsem z toho měl strach, že to jinak nepůjde. Ale
bohužel nemůžu celý web přenačítat přes ajax. Díky za rady a nápady.
Moja chyba, ten inline js by nemal byt v hlavičke, ale až za otváracím tagom elementu, ktorému chce upraviť css, pretože inak by v DOM nebol ten element a teda by nešlo upraviť jeho style.
Testoval som v iných browseroch a zistil som, že väčšinou browser nerenderuje nedokončený render tree(webkit) respektíve frame tree(gecko).
Tu je demo s inline js pri </body>, ak by niekto chcel skúsiť: https://jsfiddle.net/62tzmave/show.
Mohl bych se zeptat, ktere probliknuti mas na mysli?
Probliknuti prohlizece, kdyz nacita novou stranku -> vidis na maly moment prazdnou bilou stranku
Probliknuti toho tveho prekryvu -> vidis na maly moment tvuj web bez nocniho rezimu.(a predtim vidis prazdnou stranku)
Pokud ti vadi to prvni, samozrejme je spravne napsat web vic smerem k architekture single page appky, nicmene existuje jeste jedno dirty fix reseni. Muzes nacitat web uvnitr iframe a hlavni okno si nechat jenom na onen prekryv tmavym pruhlednym elementem. Pak sice web v iframe problikne, ale bude vzdycky za nocnim zavesem, takze to oci uzivatele nijak zvlast nesokuje.
Pokud resis ten druhy pripad probliknuti, pak je cesta v javascriptu hned na zacatku stranky, tak aby se provedl jako prvni, driv nez se dorenderuje body, rovnou tam dynamicky appendnes overview element, to zabere min nez 10ms, toho si lidske oko ani nevsimne.
No, ja mam prave z ruznych diskuzi info, ze se tagy script zpracovavaji obcas dost odlisnym zpusobem. Ze ho treba spusti (IE) na pozadi dopredu. V takovem pripade nevim, do jake miry se da spolehnout na to, ze se ten kod vykona drive nez ze zobrazi dalsi html kod a ne opacne. Jinak bych to resil samozrejme presne takhle, protoze by to melo fungovat.
To reseni, co psal Taskkill, s hlavnim oknem a framem, to take neni spatne.
Kdyz by se mu nechtelo drbat s js ajaxem.
Tez tusim nekdo psal one-page a jenom treba javascriptem nastavovat
display:block pro tu cast, co potrebujes, to je take dobre.
A i ostatni.
Ešte tu je jedna možnosť - urobiť to server side, ale keďže toto
vlákno je v javascript sekcií tak pravdepodobne autor chcel iba client side
riešenie. A to, že IE renderuje frame a spúšta js paralelne nie je
pravda(aspoň v mojom prípade): tu je časová os
Zobrazeno 11 zpráv z 11.