Når AJAX først er på plass, er det lett å bytte store deler av siden for hver respons. Det ser enkelt ut, men kan gi dårligere ytelse, mistet fokus og flere uventede sideeffekter.

Skriv mindre til DOM-en
Skriv mindre til DOM-en visualiserer hovedpoenget i artikkelen.

DOM-endringer har kostnad

Nettleseren må parse, bygge og male på nytt når store deler av DOM-en endres. Små oppdateringer er ofte enklere å forstå og billigere å gjennomføre.

Fokus og tilstand kan forsvinne

Hvis et helt område byttes ut, kan brukeren miste fokus, åpne paneler kan lukkes, og event listeners kan forsvinne. Det er særlig problematisk i skjemaer og adminverktøy.

Oppdater det som faktisk endret seg

Hvis bare antall treff eller én rad endres, bør ikke hele siden byttes. En smal oppdatering gjør grensesnittet mer stabilt og lettere å teste.

Partial rendering krever kontrakt

Serveren kan returnere HTML-fragmenter, eller API-et kan returnere data som frontend renderer. Begge deler kan fungere, men mønsteret bør være konsekvent.

WEBoracle-vurdering

WEBoracle bør bruke smale DOM-oppdateringer i søk, filtre, tellerfelt og statusmeldinger. Full utskifting bør reserveres for tydelige sidebytter.

Konklusjon

AJAX handler ikke om å skrive mest mulig til DOM-en. Det handler om å oppdatere riktig del av siden til riktig tid, uten å skade fokus, struktur eller brukernes tillit til grensesnittet.

Kilder og videre lesning

  1. MDN Web Docs: Document Object Model (DOM)
  2. MDN Web Docs: DocumentFragment
  3. W3C/WAI: Understanding Status Messages