Söta Chrome-tillägg som inte gör webbläsaren långsam
Dekorativa webbläsartillägg har ett rykte, och det är för det mesta förtjänat: tunga, pratsamma, och installerade med en behörighetslista ingen läste. Vilket är synd, för kategorin är genuint rolig och varenda problem går att undvika.
Tre saker värda att kontrollera
- Behörighetslistan. Chrome visar den innan du installerar. Storage är en inställningsfil. Tabs, cookies, history och webRequest är de som låter ett tillägg se vad du surfar på.
- Om det rör vid sidans layout. Ett tillägg som lägger in element i dokumentflödet, eller mäter elementens position vid varje skrollhändelse, kan få en i övrigt smidig sida att hacka oavsett hur lite det ritar.
- Vart det skickar förfrågningar. En dekoration med en upptagen nätverksflik gör ett andra jobb du inte fick veta om.
Varför layout är det som biter
Att läsa en layout-egenskap — ett elements höjd, dess position på skärmen — tvingar webbläsaren att slutföra allt väntande layoutarbete innan den kan svara. Gör det i en skrollhanterare och du har bett webbläsaren stanna och mäta sextio gånger per sekund, på en sida den var halvvägs igenom att rita.
Det är mekaniken bakom de flesta klagomål om att ”det här tillägget gör skrollningen hackig”, och den är osynlig tills någon profilerar den. Lösningen är oglamorös: läs aldrig layout under en skrollning, skriv bara transformer, och låt kompositorn sköta rörelsen.
Så här ser det ut här
scrolldog är ett litet pixelhusdjur som springer längs kanten av varje sida i din skrollhastighet. Det är också ett genomarbetat exempel på kontrollerna ovan, eftersom det var tvunget att klara dem för att vara uthärdligt att ha kvar:
- Två behörigheter: storage och unlimitedStorage. Inga tabs, inga cookies, ingen history, ingen webRequest.
- En värdbehörighet — api.scroll.dog — som används för att kontrollera en licens, aldrig för att röra sidan du är på.
- Husdjuret lever i ett fast spår med nollstorlek och skriver bara någonsin en CSS-transform, så sidans egen layout ändras aldrig.
- Skrollning lyssnas på passivt och komprimeras till en skrivning per animationsbildruta.
- En brytare tar bort det från varje öppen flik direkt.
Inget av detta är skryt — det är minimum. En sak vars enda uppgift är att vara trevlig att titta på har inget skäl att göra något annat långsammare.
Se hunden