Dokument: parseHTMLUnsafe() statische Methode

Baseline 2024
Newly available

Since July 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die parseHTMLUnsafe() statische Methode des Document Objekts wird verwendet, um eine HTML-Eingabe zu parsen. Dabei können unerwünschte HTML-Elemente und Attribute gefiltert werden, um eine neue Document Instanz zu erstellen.

Im Gegensatz zu Document.parseHTML() wird nicht garantiert, dass XSS-gefährliche HTML-Entitäten entfernt werden.

Syntax

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

Parameter

input

Ein String oder eine TrustedHTML Instanz, die das zu parsende HTML definiert.

options Optional

Ein Options-Objekt mit den folgenden optionalen Parametern:

sanitizer Optional

Ein Sanitizer oder SanitizerConfig Objekt, das definiert, welche Elemente der Eingabe erlaubt oder entfernt werden. Beachten Sie, dass im Allgemeinen ein Sanitizer effizienter ist als eine SanitizerConfig, wenn die Konfiguration wiederverwendet werden soll. Wenn nicht angegeben, wird kein Sanitizer verwendet.

Rückgabewert

Ausnahmen

TypeError

Diese Ausnahme wird ausgelöst, wenn:

Beschreibung

Die parseHTMLUnsafe() statische Methode kann verwendet werden, um eine neue Document Instanz zu erstellen und dabei unerwünschte Elemente und Attribute optional herauszufiltern. Das resultierende Document wird einen content type von "text/html", einen character set von UTF-8 und eine URL von "about:blank" haben.

Das Suffix "Unsafe" im Methodennamen weist darauf hin, dass die Methode zwar die Eingabestrings von unerwünschten HTML-Entitäten filtern kann, jedoch nicht die Sanitierung oder Entfernung von potenziell unsicherem XSS-relevantem Input erzwingt. Wenn keine Sanitizer-Konfiguration im options.sanitizer Parameter angegeben ist, wird parseHTMLUnsafe() ohne irgendwelche Sanitierung verwendet. Beachten Sie, dass <script> Elemente während des Parsens nicht ausgewertet werden.

Das eingabene HTML 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.

parseHTMLUnsafe() sollte anstelle von Document.parseHTML() verwendet werden, wenn potenziell unsichere HTML-Strings geparst werden müssen, die aus irgendeinem Grund XSS-gefährliche Elemente oder Attribute enthalten müssen. Wenn das zu parsende HTML keine unsicheren HTML-Entitäten enthalten muss, sollten Sie Document.parseHTML() verwenden.

Da diese Methode Eingabestrings nicht unbedingt von XSS-gefährlichen Entitäten reinigen muss, sollten Eingabestrings zusätzlich mit der Trusted Types API validiert werden. Wenn die Methode sowohl mit Trusted Types als auch mit einem Sanitizer verwendet wird, wird die HTML-Eingabe vor der Sanitierung durch die Trusted-Type-Transformationsfunktion geleitet.

Spezifikationen

Specification
HTML
# dom-parsehtmlunsafe

Browser-Kompatibilität

Siehe auch