Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Problikávání při načtení efektu do stránky

Aktivity
Avatar
Luboš Hnědý:12.2.2019 22:16

Zdravím mám následující problém. Mám stránku a mám zde tlačítko, které mi přes stránku hodí šedý efekt. Takové to známe, když chcete večer tmavší stránku. Hážu tam prostě jenom overlay. A tohle nastavení si ukládám do cookie, Aby to při překliknutí na jinou stránku zůstalo. Tady nastává ten problém ono to při načtení jiné stránky problikne což je logické musí se to vytáhnou a podle toho to zobrazit. Není nějaká možnost, jak to obejít? Předem díky za info a jakoukoli pomoc :)

Zkusil jsem: Hledat na googlu, ale nevím jak to přesně formulovat.

Chci docílit: Dobré funkčnosti, bez problikávání.

 
Odpovědět
12.2.2019 22:16
Avatar

Člen
Avatar
:12.2.2019 23:03

Ahoj, skúšal si inline javascript v headeri?

 
Nahoru Odpovědět
12.2.2019 23:03
Avatar
Odpovídá na Luboš Hnědý
Martin Donát:13.2.2019 0:39

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. :-)

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
13.2.2019 0:39
Avatar
Odpovídá na Martin Donát
Luboš Hnědý:13.2.2019 7:31

V header jsem to nezkoušel zkusím. To je ryhlejší?
To by ale byl stejný problém ne?

 
Nahoru Odpovědět
13.2.2019 7:31
Avatar

Člen
Avatar
Odpovídá na Luboš Hnědý
:13.2.2019 13:49

Á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...

 
Nahoru Odpovědět
13.2.2019 13:49
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13.2.2019 14:37

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=?)">

http://www.simplehtmlguide.com/…nsitions.php

 
Nahoru Odpovědět
13.2.2019 14:37
Avatar
Luboš Hnědý:13.2.2019 15:52

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. :)

 
Nahoru Odpovědět
13.2.2019 15:52
Avatar

Člen
Avatar
Odpovídá na Peter Mlich
:13.2.2019 18:33

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.

Editováno 13.2.2019 18:36
 
Nahoru Odpovědět
13.2.2019 18:33
Avatar
Odpovídá na Luboš Hnědý
Neaktivní uživatel:13.2.2019 22:39

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.

Nahoru Odpovědět
13.2.2019 22:39
Neaktivní uživatelský účet
Avatar
Peter Mlich
Člen
Avatar
Odpovídá na
Peter Mlich:14.2.2019 8:49

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.

 
Nahoru Odpovědět
14.2.2019 8:49
Avatar

Člen
Avatar
Odpovídá na Peter Mlich
:14.2.2019 22:10

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 :)

 
Nahoru Odpovědět
14.2.2019 22:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.