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.
<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
Specification |
---|
Trusted Types # trusted-html |
Browser-Kompatibilität
BCD tables only load in the browser