Om funksjonen
Formål
Escaper brukerkontrollert tekst før den settes inn med innerHTML eller insertAdjacentHTML(), så HTML- og skriptinjeksjon unngås. Funksjonen er domenenøytral.
Egner seg for
- Ren tekst som skal flettes inn i HTML-strenger, også i enkle attributtverdier bygget som streng.
Egner seg ikke for
- Ikke for sanitering av HTML der noe markup skal slippe gjennom, eller for URL-, CSS- eller JavaScript-kontekster. Funksjonen escaper bare fem HTML-tegn.
Signatur(er)
escapeHtml(verdi: string) => string
| Parameter | Type | Beskrivelse |
|---|---|---|
verdi | string | Verdien som skal escapes; ikke-strenger konverteres til streng først (String(verdi)). |
Returnerer: Teksten med &, <, >, " og ' erstattet av HTML-entiteter.
import {escapeHtml} from "/designsystem/funksjoner/sikkerhet/escape-html/escape-html.js";
el.innerHTML = `<li>${escapeHtml(brukerNavn)}</li>`;
Prøv selv
Rediger uttrykket under - returverdien oppdateres live.
Tilgjengelighet
Ikke relevant: ren logikk uten DOM eller UI.
Referanser
Se også:
../../generering/qr-kode/index.html - Begge brukes ofte førinnerHTML-innsetting, men med motsatt ansvar: denne escaper ukontrollert tekst, mens QR-funksjonen genererer kontrollert SVG-markup.
Brukes av:
turer/js/features/receipts/receipts.jsturer/js/features/timeline/timeline.jsturer/js/features/album/album.jsturer/js/pages/dashboard.jsdesignsystem/komponenter/medieinnhold/preview-document/preview-document.jsdesignsystem/komponenter/medieinnhold/preview-image/preview-image.js
Avhengigheter: Ingen