Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Dokumentation: statische Methode parseHTML()

Limited availability

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

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die statische Methode parseHTML() des Document-Objekts bietet eine XSS-sichere Methode, um einen HTML-String zu analysieren und zu bereinigen, um eine neue Document-Instanz zu erstellen.

Syntax

js
Document.parseHTML(input)
Document.parseHTML(input, options)

Parameter

input

Ein String, der definiert, welcher HTML-Code bereinigt und in den Shadow-Root eingefügt wird.

options Optional

Ein Optionsobjekt mit den folgenden optionalen Parametern:

sanitizer

Ein Sanitizer- oder SanitizerConfig-Objekt, das definiert, welche Elemente des Eingabe-Strings erlaubt oder entfernt werden, oder der String "default" für die Standard-Konfiguration des Sanitizers. Beachten Sie, dass ein "Sanitizer im Allgemeinen effizienter als eine SanitizerConfig sein sollte, wenn die Konfiguration wiederverwendet werden soll. Wenn nicht angegeben, wird die XSS-sichere Standardkonfiguration des Sanitizers verwendet.

Rückgabewert

Ein Document.

Ausnahmen

TypeError

Dies wird ausgelöst, wenn options.sanitizer übergeben wird mit:

  • Einer SanitizerConfig, die nicht gültig ist. Zum Beispiel eine Konfiguration, die sowohl "allowed" als auch "removed" Konfigurationseinstellungen enthält.
  • Einem String ohne den Wert "default".
  • Einem Wert, der weder ein Sanitizer, eine SanitizerConfig, noch ein String ist.

Beschreibung

Die Methode parseHTML() analysiert und bereinigt einen HTML-String, um eine neue Document-Instanz zu erstellen, die XSS-sicher ist. Das resultierende Document hat einen Content-Type von "text/html", ein Zeichensatz von UTF-8 und eine URL von "about:blank".

Wenn keine Sanitizer-Konfiguration im Parameter options.sanitizer angegeben ist, wird parseHTML() mit der Standardkonfiguration des Sanitizer verwendet. Diese Konfiguration erlaubt alle Elemente und Attribute, die als XSS-sicher gelten, wodurch Entitäten ausgeschlossen werden, die als unsicher betrachtet werden. Ein benutzerdefinierter Sanitizer oder eine Sanitizer-Konfiguration kann angegeben werden, um auszuwählen, welche Elemente, Attribute und Kommentare erlaubt oder entfernt werden. Beachten Sie, dass selbst wenn unsichere Optionen durch die Sanitizer-Konfiguration erlaubt werden, sie dennoch entfernt werden, wenn diese Methode verwendet wird (die implizit Sanitizer.removeUnsafe() aufruft).

Der Eingabe-HTML-Code kann deklarative Shadow Roots enthalten. Wenn der HTML-String mehr als einen deklarativen Shadow Root in einem bestimmten Shadow-Host definiert, wird nur der erste ShadowRoot erstellt – nachfolgende Deklarationen werden als <template>-Elemente innerhalb dieses Shadow-Roots geparst.

parseHTML() sollte anstelle von Document.parseHTMLUnsafe() verwendet werden, es sei denn, es besteht ein spezifisches Bedürfnis, unsichere Elemente und Attribute zuzulassen. Wenn der zu parierende HTML-Code keine unsicheren HTML-Entitäten enthalten muss, sollten Sie Document.parseHTML() verwenden.

Beachten Sie, dass diese Methode immer Eingabestrings von XSS-unsicheren Entitäten bereinigt, sie wird nicht durch die Trusted Types API gesichert oder validiert.

Spezifikationen

Specification
HTML Sanitizer API
# dom-document-parsehtml

Browser-Kompatibilität

Siehe auch