Autor Zpráva
Kcko
Profil
Zjistil jsem dosti zvláštní problém.
Mám internetovou diskusi, kde si uživatelé mj. mohou do komentáře vkládat obrázky (smajlíky).

V rámci datové úspory mám sadu smajlíků schovanou a zobrazuji ji až AJAXEm při kliku na button zobrazit smajlíky.

Smajlíků je cca 230 a mají dohromady cca 1.5MB (Proto tento způsob, protože ne každý smajlíky chce používat, tak jsem je nechtěl mít rovnou při klasickém načtení stránky).


V MS Edge se občas stává to, že uživatel vleze na stránku (poprvé), klikne na zobrazit smajlíky a v tu chvíli se stránka "lagne" a refreshne se, což je problém, protože na diskusi lze reagovat a tak se občas díky tomuhle nechtěnému stavu stává to, že příspěvek který měl být reakcí není.

Myslel jsem, že to je blbě napsaný JS nebo n ěco takového, tak jsem smajlíky zobrazil do stránky rovnou - to samé (poprvé na webu, klik, refresh stránky). Pak už se to neděje, nebo po nějaké době znovu (když proběhně nějaký browser uncache zakešovaných obrázků).

Když snížím počet smajlíků na menší počet (50) tak se to neděje.

Neví někdo co to je? Nemohl jsem to ani vygooglit.
Keeehi
Profil
Proč se to děje ti bohužel neřeknu. Ale napadají mě dva způsoby řešení.
1) image sprite - půjde o jeden požadavek
2) omezení počtu paralelních požadavků - vytvoříš třeba jen 30 paralelních požadavků, u každého obrázku budeš kontrolovat událost onload a další vytvoříš až právě v reakci na onload.
Kcko
Profil
Keeehi:
Ahoj, ty jsi to někdy už zažil? Divím se, že nevíš :-)

Ti smajlíci jsou animovaní (gif), takže sprite asi moc řešení nebude, a hlavně je to hrozně pracné, občas je přidávám nebo ubírám.
Ono i to druhé řešení je pracné.

Zatím jsem to vyřešil oním počtem (taky mít na výběr přes 200 smajlíků je trošku nesmysl).

Hlavně mě zajímá proč se tak děje (jen Edge).
Kdybych na něco přišel; dám to sem.
Keeehi
Profil
Kcko:
Ahoj, ty jsi to někdy už zažil?
Nezažil. Profesionálně jsem frontend nikdy nedělal a v mých projektech jsem nikdy ajaxem nenačítal.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0