Diskuze: Okamžitý refresh DOM.
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 9 zpráv z 9.
//= 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.
tak to oznámení udělej jako nezávislou funkci. Funkce co bude počítat, tak mění nějakou hodnotu a ta první funkce počká až bude hodnota tak akorát a spustí oznámení...
To tady nepomuze problem je v zasade v tom, ze operace vypoctu je hodne heavy a zatizi hlavni vlakno aplikace natolik, ze se UI neupdatuje, prestava byt responzivni. viz tenhle fiddle https://jsfiddle.net/…ll/wyp845e2/ ... dlouho nic a pak sword-fish
V JSku se tenhle problem resi dvema zpusoby: budto prepises svuj algoritmus na tzv. iterativni reseni - to znamena, ze ho napises tak, aby bezel priblizne takhle:
zacne se pocitat -> nastavi se timeout na (napriklad) 30 ms a spocita se kousek, stav se ulozi -> nastavi se timeout na 30 ms a to je vse -> zase se kousek spocita, a stav ulozi, pak se nastavi timeout atd atd atd
druha moznost jsou web workery, sam jsem pred casem napsal knihovnu, ktera umoznuje snazsi praci s touhle technologii, kterou disponuji snad vsechny dnesni browsery, tahle technologie ti umoznuje pocitat v jinem vlakne, tedy vsechny vypocty se provadeji na pozadi a az se dopocita, posles si do hlavni kontextu zpravu a vysledek zobrazis, tvoje UI je mezitim naprosto responzivni
https://github.com/…ill/async.js
https://developer.mozilla.org/…_web_workers
https://benjaminhorn.io/…ngle-thread/
v tomhle vlaknu na SO se k tomu vyjadrujou stejne jako ja
http://stackoverflow.com/…n-javascript
hodne stesti tohle je docela zabavna oblast
Jen dodám, že to může být i 0 ms, ono se to s nulou stejně odloží tak i tak až na konec , ale spustí ihned, co bude moci.
Když jsi to zmínil, pamatuju, že IEcko na 0 nespustilo kód vůbec, už je to v pohodě?
Ano, protože IE už nikoho moc netrápí
Asi by si bol prekvapeny kolki zamestnanci este IE pouzivaju, dokonca pod
winXP, pretoze musia.
A pritom je to hruza.
Sice nevím, jestli jsem vše pochopil, páč jsem úplnej začátečník, ale každopádně mě ty timeouty i dát oznámení jako funkci inspirovaly. A nyní to asi po tisíci různých pokusech tak nějak funguje
Takže všem děkuji za rady.
Nebyl bych překvapený, šestka a sedmička dohromady nemají ani procento. S osmičkou už nejsou takové problémy a od desítky je to podle mého relativně použitelný prohlížeč. Ale pokud lidem s IE budou weby v IE fungovat i nadále, pak nebudou mít nikdy důvod upgradovat na solidní prohlížeč.
Zobrazeno 9 zpráv z 9.