De verborgen browser-eigenaardigheden die het web draaiende houden (en waarom het jou aangaat)
Het vuile geheim van de browsers
Stel je voor: je denkt dat het web draait op universele standaarden, maar niets is minder waar. Grote browsers zoals Safari, Firefox en Chrome passen hun gedrag aan per domeinnaam. Geen foutje, geen trucje. Het zit bewust in de code.
Op TikTok gedraagt je browser zich anders dan op je eigen site. Idem voor Netflix, Instagram, Amazon Prime Video en zelfs SeatGuru, die handige tool voor vliegtuigstoelen.
Bewijs? Kijk zelf. Safari's WebKit heeft een bestand Quirks.cpp vol domeinspecifieke fixes. Firefox toont ze via about:compat, waar je ze zelfs kunt aan- en uitzetten. Chrome zwijgt erover – typisch voor een marktleider.
De compatibiliteitsslag
Open Firefox en typ about:compat. Je ziet een lijst met beruchte sites. Elke regel is een hack: aangepaste CSS, gewijzigde JavaScript of een neppe user agent.
Bij Safari is het nog duidelijker. Duik in Quirks.cpp op GitHub en je leest hoe het web écht werkt. Neem Facebook, X (ex-Twitter) en Reddit. De code merkt op dat zij video's pauzeren als ze uit beeld scrollen, zelfs in Picture-in-Picture.
Safari fixt het voor twee miljard gebruikers. En SeatGuru? "Verwijder dit als ze hun site aanpassen." Ze reageerden niet, dus zit de oplossing nu in de browser.
Chrome's sneeuwbaleffect
Chrome regeert met 65% marktaandeel. Ontwikkelaars testen erop, sites werken daar perfect. Bugs elders? Gebruikers vluchten naar Chrome, wat de cirkel rondmaakt.
Chrome's features worden de norm. Andere browsers volgen of plakken pleisters met quirks. WebKit laat Safari zich voordoen als Chrome op Amazon Video en streamingdiensten. Die sites checken de browser en straffen niet-Chrome af.
Kijk naar deze code:
auto chromeUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"_s;
Safari en Firefox liegen over hun identiteit. Resultaat: een vicieuze cirkel waarin Chrome dicteert.
Diepere ingrepen
Dit gaat verder dan uiterlijkheden. Browsers wijzigen scrollen, touch-events, viewport en MIME-types per domein.
Recente WebKit-updates: Zillow's plattegronden centreerden niet, TikTok eiste een upgrade, Instagram Reels schoten in elkaar, Netflix-buttons faalden, Twitch pauzeerde PiP bij tabwissels, Amazon Prime Video crashte in Safari. Allemaal gefixt met domeincode.
Impact op jouw startup
Bouw je een webapp? Test op alle browsers. Niet alleen omdat het hoort, maar omdat concurrenten speciale behandeling krijgen.
Het web wordt pragmatischer dan gestandaardiseerd. Browsers fiksen kapotte sites van giganten, niet andersom. Voor kleine teams is dat fijn – jullie belanden zelden in Quirks.cpp. Maar groei je? Zorg dat je code overal draait, anders word je zelf een quirk.
Dit toont waarom standaarden cruciaal zijn. Chrome's macht bepaalt wat iedereen moet ondersteunen.
De bittere waarheid
Het web is oneerlijk. Grote domeinen krijgen browserhulp ingebouwd. Maar het bewijst ook de robuustheid: browsers houden het draaiende, koste wat kost.
Geen elegante oplossing, maar het werkt. Snap het verschil tussen ideaal en realiteit als je bouwt.
Werkt een site top in Chrome maar niet in Firefox? Bedank de quirks. Lessen voor developers: geen browser-sniffing, geen Chrome-aannames, en test grondig op echte browsers.
Deze verborgen fixes houden het web bijeen met slimme code en goede wil.