Fasader for tredjepartskode
Silktide laster inn sidene dine i en ekte nettleser og ser etter innebygde tredjepartstjenester, for eksempel videospillere og chattewidgeter, som lastes inn i sin helhet selv om en besøkende kanskje aldri bruker dem. Disse kan erstattes med en fasade – en lettvektsplassholder som laster inn den ekte tjenesten først når noen samhandler med den.
Hvorfor dette er viktig
Innebygde elementer er blant de tyngste tingene en side kan inneholde. Én enkelt innebygd videospiller eller chattewidget kan laste ned mer kode enn resten av siden din til sammen, og dette skjer for hver besøkende – inkludert flertallet som aldri trykker på spill av eller åpner chatten. Denne kostnaden oppstår under sidelastingen, akkurat når hastigheten er viktigst.
En fasade snur på dette: Besøkende ser noe som ligner på det innebygde elementet (et miniatyrbilde med en avspillingsknapp, en chatboble), og den ekte tjenesten lastes inn først når de klikker. De fleste besøkende betaler aldri kostnaden i det hele tatt.
Slik løser du det
- For hvert rapporterte innebygde element må du kontrollere om det finnes en fasade. Populære videospillere og chattewidgeter har godt vedlikeholdte fasader med åpen kildekode, og et søk etter navnet på tjenesten pluss «facade» finner vanligvis en.
- Erstatt koden for det innebygde elementet med fasaden. Det synlige resultatet er nesten identisk; forskjellen er at den tunge koden lastes inn ved samhandling.
- Hvis det ikke finnes en ferdig fasade, kan du bruke samme idé: vis et statisk forhåndsvisningsbilde, og sett inn det ekte innebygde elementet ved klikk ved hjelp av .
Slik tester Silktide dette
- Last inn siden i en ekte nettleser, og identifiser innebygde tredjepartselementer som det er kjent at har et fasadealternativ, ved hjelp av en offentlig katalog over slike tjenester.
- Mål kostnaden for hvert innebygde element: hvor lang tid koden opptar nettleserens , og hvor lenge den blokkerer siden fra å svare.
- Rapporter hvert innebygde element med filene og tidspunktene, slik at du kan vurdere om en fasade er verdt det.
Feilsøking
Besøkende samhandler med det innebygde elementet med én gang
En fasade legger til en kort forsinkelse når den besøkende samhandler for første gang, mens den ekte tjenesten lastes inn. For et innebygd element som de fleste besøkende bruker med en gang, er dette kompromisset kanskje ikke verdt det – denne kontrollen flagger kandidater, og du avgjør. Fasader kan også forhåndslaste basert på mer subtile signaler, for eksempel når pekeren holdes over et område i nærheten, noe som skjuler det meste av forsinkelsen.