it-swarm-eu.dev

Vylepšení rychlosti na úkor nespolupráce s JS bylo vypnuto

Mám galerii obrázků, která aktuálně načítá obrázky pomocí standardních img tagů, a protože má mnoho velkých obrázků, načítá se docela pomalu.

Dokážu věci urychlit dynamickým načtením obrázků z galerie po načtení stránky. Testoval jsem to a došlo k významnému zvýšení výkonu. Problém spočívá v tom, že se obrázek takto nenačte, pokud má uživatel zakázaný JS.

Otázka tedy zní: Je to užitečné kompromisy, pokud chcete získat výkon na úkor toho, že stránka nebude fungovat, pokud je JS deaktivována?

V tomto konkrétním případě si myslím, že budu používat značku noscript, ale co kdybych neměl kontrolu nad výstupem html (řekněme v CMS).

2
Sruly

Několik rychlých myšlenek:

  • Upravte své uživatelské rozhraní, abyste nemuseli načítat více než N obrázků. Například představte stránkování.
  • Mnoho prohlížečů vykresluje pouze obrázky, které jsou viditelné pro uživatele. Zvažte skrytí ostatních obrázků jejich přesunutím mimo obrazovku nebo do divu s přetečením: skryté nebo tak něco.
  • Načíst první N obrázky při načítání stránky a poté zbytek. Načtení zbývajících obrázků by vyžadovalo javascript a mohli byste přidat značku noscript, která přidá stránkování pro několik uživatelů, kteří nemají povoleno JS.
  • V závislosti na druhu obrázků, se kterými pracujete, zkombinujte obrázky do tabulky Sprite a nahrajte je všechny jako obrázky na pozadí pomocí polohy pozadí v CSS, abyste zobrazili pouze ty správné části. Předběžná doba načítání bude robustní, ale vyrovnatelná.

Nakonec nemůžu odpovědět na to, zda je vypnutý JS užitečný kompromis, protože nevím, co je vaše publikum. Potřebuji více informací. Ve většině případů u webů, na kterých jsem pracoval, máme sklon k postupnému zlepšování. Třetím příkladem v mém seznamu by tedy byl ten, na který bych pravděpodobně šel.

4
Rahul

Co když namísto požadavku JS na zrychlení načítání obrázků načtete obrázky na konec jiné stránky, takže když chcete zobrazit galerii, jsou již načteny. Chcete se jen ujistit, že obrázky obsahují veškerý důležitý obsah a že používáte stejná jména, aby se mohla ukládat do mezipaměti.

Pokud byste se chtěli držet při načítání pomocí JS, doporučil bych nejprve zkontrolovat JS a použít dynamické zatížení, pokud podporují JS, a pokud nemají JS, vrátit se zpět na standard.

1
LoganGoesPlaces

Můžete to udělat postupně. Tj., Počáteční HTML vydává značky IMG, jako je tomu nyní. Ale ihned po načtení se vaše jQuery spustí a dynamicky nahradí značky IMG vašimi vlastními zavaděči. Nejlepší z obou světů.

1
Chase Seibert

I velké společnosti začínají vyžadovat Javascript. Pokud jste například v prohlížeči IE vypnuli Javu, věděli jste, že Google Chrome si nemůžete ani stáhnout? Tlačítko Accept and Install Nefunguje. Jednoduše zobrazují tento kousek textu v horní části obrazovky:

Ke stažení tohoto softwaru potřebujete prohlížeč podporující JavaScript. Pokyny najdete zde o tom, jak povolit JavaScript ve vašem prohlížeči.

Osobně mám pocit, že požadavek na Javascript je z jejich strany pro tento scénář chybou, ale odbočuji.

Samozřejmě to záleží na vašem publiku, ale i za několik posledních let buduji i několik webových rozhraní, která vyžadují Javascript, aby fungoval.

Jedinou zbývající starostí je SEO. Pokud chcete, aby Google ve vaší galerii indexoval obrázky, budete je muset zobrazit v HTML.

1
Steve Wortham

Otázka „Co když mají vypnutý Javascript“ je otázka, která by měla žít sama o sobě. I když byste se měli ujistit, že vaše aplikace/web je stále použitelný s vypnutým JS, měli byste také přemýšlet o tom, kdo je vaše publikum. Upřímně - je to rok 2010 a weboví vývojáři by o tomto problému neměli ani myslet (já už ne).

Pomocí analýzy můžete zjistit, zda vaši uživatelé mají JS vypnuto/zapnuto. Pokud je to méně než 5% vašich uživatelů, neztrácejte čas řešením.

1
abrudtkuhl