TrustedHTML

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Das TrustedHTML-Interface der Trusted Types API repräsentiert einen String, den ein Entwickler in einen Injection-Sink einfügen kann, damit er als HTML dargestellt wird. Diese Objekte werden über TrustedTypePolicy.createHTML() erstellt und haben daher keinen Konstruktor.

Der Wert eines TrustedHTML-Objekts wird beim Erstellen des Objekts festgelegt und kann nicht durch JavaScript geändert werden, da kein Setter verfügbar ist.

Instanzmethoden

TrustedHTML.toJSON()

Liefert eine JSON-Darstellung der gespeicherten Daten.

TrustedHTML.toString()

Ein String, der das bereinigte HTML enthält.

Beispiele

Im untenstehenden Beispiel erstellen wir eine Policy, die TrustedHTML-Objekte mithilfe von TrustedTypePolicyFactory.createPolicy() erstellt. Wir können dann TrustedTypePolicy.createHTML() verwenden, um einen bereinigten HTML-String zu erstellen, der ins Dokument eingefügt werden kann.

Der bereinigte Wert kann dann mit Element.innerHTML verwendet werden, um sicherzustellen, dass keine neuen HTML-Elemente injiziert werden können.

html
<div id="myDiv"></div>
js
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
  createHTML: (string) => string.replace(/</g, "&lt;"),
});

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

Specification
Trusted Types
# trusted-html

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch