Autor Zpráva
maks
Profil
Ahoj,

váhám u zařazení do správné kategorie (HTML/JS), zkusím sem.

Podle stránky http://developers.google.com/speed/pagespeed/insights/ mám na svém webu „JS a CSS blokující zobrazení“ s odkazy https://developers.google.com/speed/docs/insights/BlockingJS a https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery. U posledních dvou odkazů (na optimalizaci JS a CSS) se na můj případ vztahuje "velký" soubor, nikoliv ten párřádkový.

Doplním ještě poznámku, které jsem si všiml až teď: „Žádný obsah vaší stránky nad okrajem nebylo možné vykreslit bez čekání na načtení následujících zdrojů. Zkuste načtení blokujících zdrojů odložit, načíst je asynchronně nebo kritické části zdrojů vložit přímo do kódu HTML.“.

Stylopisy mám na stránce tři, klasicky v záhlaví (jeden hlavní, jeden specifický pro danou stránku a responsivní), JavaScripty jsou dva přilinkované na samém konci stránky. Vše až na jeden CSS je minifikované (dle tohoto nástroje bych minifikací ušetřil cca 500B, což mě netíží).

Vím, že by šly všechny CSS a JS sloučit dohromady, ale to neřeší, proč tento nástroj nyní povídá, že má problém a na něco musí čekat.

Je nějaký způsob, jak stránce pomoci? Na co čeká, když vše je tak, jak by (snad) mělo být?
Chamurappi
Profil
Reaguji na makse:
jeden hlavní, jeden specifický pro danou stránku a responsivní
Proč není ten responsivní uvnitř jednoho z těch dvou v @media (…) {}?

Vše až na jeden CSS je minifikované
Možná by stálo za to ten neminifikovaný styl, který je pravděpodobně malý, dát jako interní <style>. Ale těžko říct, zda by se tím něco urychlilo.
Použitý testovací nástroj je sice dost chytrý, ale pořád je to jen hloupý automat, který nevyhodnocuje všechny rozhodující faktory. Činí jen obecná pozorování bez zkoumání širšího kontextu.

Je nějaký způsob, jak stránce pomoci?
Chceš-li konkrétní rady, přihoď konkrétní stránku.
maks
Profil
Chamurappi:
Proč není ten responsivní uvnitř jednoho z těch dvou v @media (…) {}?
je dostatečně malý, že to nevadí.

Ale těžko říct, zda by se tím něco urychlilo.
v praxi asi ne, alespoň ne nic dramatického.

Použitý testovací nástroj je sice dost chytrý, ale pořád je to jen hloupý automat
hm, to je to, co jsem čekal.

Potvrdím si jen mou domněnku, kterou jsem považoval za správnou (asi správná je), ale tento nástroj mě trochu znejišťuje. Pokud mám script na konci stránky (před </body>), načítá se až poté, co je načteno vše ostatní, že? I když tam je inicializace slideru, který je tvořen obrázky uprostřed stránky, nejprve se načte HTML do konce (obrázky pod sebou, bez slideru) a až poté se donačte a spustí slider (obrázky kromě provního skryje). Je to tak, že?
_es
Profil
maks:
„Proč není ten responsivní uvnitř jednoho z těch dvou v @media (…) {}?“
je dostatečně malý, že to nevadí.
Práve preto, že je malý, tak to brzdí jeden HTTP dotaz navyše.

Pokud mám script na konci stránky (před </body>), načítá se až poté, co je načteno vše ostatní, že?
Nemusí byť načítané „všetko“, obrázky sú sťahované asynchrónne, teda objekty obrázkov už existujú, no nemusia byť ešte celé načítané.
Chamurappi
Profil
Reaguji na makse:
je dostatečně malý, že to nevadí
Právě proto se možná nevyplatí kvůli němu vysílat další HTTP požadavek.

Pokud mám script na konci stránky (před </body>), načítá se až poté, co je načteno vše ostatní, že?
Načítá se v okamžiku, kdy se k němu dostane HTML parser.

nejprve se načte HTML do konce (obrázky pod sebou, bez slideru) a až poté se donačte a spustí slider
A když se třeba skript nenačte vůbec, tak jsou obrázky pod sebou stále. Je to v zájmu uživatele?
maks
Profil
_es:
Práve preto, že je malý, tak to brzdí jeden HTTP dotaz navyše.
že by to bylo myšleno takto? Zajímavé, zkusím je přidružit dohromady.

Nemusí byť načítané ‚všetko‘, obrázky sú sťahované asynchrónne
myšleno ve smyslu: Načítá se až poté, co jsou ostatní elementy načtené, nebo jejich (asynchronní) načítání začalo.

Chamurappi:
Načítá se v okamžiku, kdy se k němu dostane HTML parser.
... který jede sytematicky shora dolů, ne?

A když se třeba skript nenačte vůbec, tak jsou obrázky pod sebou stále.
načtou se dva (jeden slide, sliderem měním po dvou obrázkách) a následuje pak overflow, zbylé nejsou vidět. Pokud neuvidí zbytek obrázků, nic hrozného se nestane.
_es
Profil
maks:
myšleno ve smyslu: Načítá se až poté, co jsou ostatní elementy načtené, nebo jejich (asynchronní) načítání začalo.
Ani to nemusí byť celkom pravda. Prehliadač môže mať obmedzenie na počet HTTP dotazov a teda ani načítanie nemuselo začať, no objekty elementov v DOM a JS už existujú.
peta
Profil
maks: Spis mu slo o to, ze uzivatelovi posilas to, co prave ted nepotrebuje, more obrich obrazku pro slider. Rekneme 6 obrazku po 15k + 1k hlavicka + 300ms prenos, to mas 2s a asi 100k.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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