Søte Chrome-utvidelser som ikke gjør nettleseren treg
Dekorative nettleserutvidelser har et rykte, og det er stort sett fortjent: tunge, pratsomme, og installert med en tillatelsesliste ingen leste. Noe som er synd, for kategorien er genuint morsom, og hvert eneste problem kan unngås.
Tre ting som er verdt å sjekke
- Tillatelseslisten. Chrome viser den før du installerer. Storage er en innstillingsfil. Tabs, cookies, history og webRequest er de som lar en utvidelse følge med på det du surfer på.
- Om den rører sidens layout. En utvidelse som setter inn elementer i dokumentflyten, eller måler elementers posisjon ved hver scrollhendelse, kan få en ellers glatt side til å hakke, uansett hvor lite den tegner.
- Hvor den sender forespørsler. Pynt med en travel nettverksfane gjør en jobb nummer to du ikke fikk vite om.
Hvorfor layout er det som biter
Å lese en layout-egenskap — et elements høyde, posisjonen på skjermen — tvinger nettleseren til å fullføre alt ventende layoutarbeid før den kan svare. Gjør det inni en scrollhåndterer, og du har bedt nettleseren stoppe og måle seksti ganger i sekundet, på en side den var halvveis i å tegne.
Det er mekanikken bak de fleste klager om at «denne utvidelsen gjør scrollingen hakkete», og den er usynlig til noen profilerer den. Løsningen er uglamorøs: aldri les layout under en scrolling, skriv bare transformer, og la kompositøren stå for bevegelsen.
Slik ser det ut her
scrolldog er et lite pikselkjæledyr som løper langs kanten av hver side i din scrollhastighet. Det er også et gjennomarbeidet eksempel på sjekklisten over, fordi det måtte bestå den for å være til å holde ut å ha rundt seg:
- To tillatelser: storage og unlimitedStorage. Ingen tabs, ingen cookies, ingen history, ingen webRequest.
- Én vertstillatelse — api.scroll.dog — brukt til å sjekke en lisens, aldri til å røre siden du er på.
- Kjæledyret lever i et fast spor med nullstørrelse og skriver bare noensinne en CSS-transform, så sidens egen layout endrer seg aldri.
- Scrolling avlyttes passivt og samles til én skriving per animasjonsbilde.
- Én bryter fjerner det fra hver åpne fane øyeblikkelig.
Ingenting av dette er skryt — det er minimum. En ting hvis eneste jobb er å være hyggelig å se på, har ingen grunn til å gjøre noe som helst tregere.
Se hunden