Thanks to visit codestin.com
Credit goes to developer.mozilla.org

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