TrustedHTML
Baseline 2026>
Neu verfügbar
Seit Februar 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das TrustedHTML-Interface der Trusted Types API repräsentiert einen String, den Entwickler in eine Injection Sink einfügen können, die ihn als HTML rendert. Diese Objekte werden mit TrustedTypePolicy.createHTML() erstellt und haben daher keinen Konstruktor.
Der Wert eines TrustedHTML-Objekts wird bei seiner Erstellung festgelegt und kann durch JavaScript nicht geändert werden, da kein Setter verfügbar ist.
Instanzmethoden
TrustedHTML.toJSON()-
Gibt einen String zurück, der das
TrustedHTML-Objekt repräsentiert und denselben Wert wieTrustedHTML.toString()hat. Wird vonJSON.stringify()automatisch aufgerufen. TrustedHTML.toString()-
Ein String, der das bereinigte HTML enthält.
Beispiele
Im folgenden Beispiel erstellen wir mit TrustedTypePolicyFactory.createPolicy() eine Policy, die TrustedHTML-Objekte erzeugt. Anschließend können wir mit TrustedTypePolicy.createHTML() einen bereinigten HTML-String erstellen, der in das Dokument eingefügt werden kann.
Der bereinigte Wert kann dann mit Element.innerHTML verwendet werden, um sicherzustellen, dass keine unerwünschten HTML-Elemente eingeschleust werden können.
<div id="myDiv"></div>
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
createHTML: (string) => string.replace(/</g, "<"),
});
let el = document.getElementById("myDiv");
const escaped = escapeHTMLPolicy.createHTML("<img src=x onerror=alert(1)>");
console.log(escaped instanceof TrustedHTML); // true
el.innerHTML = escaped;
Spezifikationen
| Spezifikation |
|---|
| Trusted Types> # trusted-html> |