När det gäller prestanda på webben handlar det om att göra så lite som möjligt direkt när sidan laddar och att ladda in rätt resurser vid rätt tillfälle. Med standardtekniker går det att utveckla hållbara och snabba webbsidor utan onödig kod.
I denna artikel kommer jag gå igenom fem nya tekniker för att förbättra prestandan på en webbsida. Några av dessa går bra att använda redan idag medan andra är experimentella men kan vara bra att vara förberedd på inför framtida bruk. De här teknikerna kan användas för att ladda in rätt resurser vid rätt tillfälle och förbättra resultat för Google Core Web Vitals.
De fem teknikerna är:
Loading-attributet
Loading-attributet avgör om resurser som bilder, videor eller iframes ska laddas direkt eller om de ska laddas in vid ett senare tillfälle när de blir synliga på skärmen. Det har tidigare vanligtvis gjorts med JavaScript men det kan innebära en del problem som exempelvis att HTML-koden inte validerar, beroende av JavaScript för att visa bilder samt att extra kod måste laddas in och köras.
Nu finns det en standardteknik för detta i och med loading. Enligt specifikationen kan två olika värden användas för att ge instruktioner till webbläsare om hur en resurs ska laddas:
- lazy: som ber webbläsaren att vänta med att ladda resursen tills senare.
- eager: som berättar för webbläsaren att resursen ska laddas direkt.
Den mest intressanta av dessa värden är lazy. Genom att ange loading=lazy på bild-element så väntar webbläsaren med att ladda in dessa bilder om de inte syns på skärmen när sidan laddar. De laddas in först när användaren scrollar på sidan och bilderna börjar närma sig den synliga delen av skärmen. Enligt HTTP-archives statistik står bilder för mer än 40% av den data som laddas in när en användare besöker en webbsida. Om vissa av dessa bilder ligger utanför den synliga delen av skärmen är det en stor prestandaförbättring att vänta med att ladda in bilderna eftersom de eventuellt inte kommer att visas.
Så här enkelt är det att lägga till lazy loading av bilder: