SanitizerConfig
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das SanitizerConfig
-Wörterbuch der HTML Sanitizer API repräsentiert ein Sanitizer-Konfigurationsobjekt.
Die Konfiguration gibt an, welche Elemente, Attribute und Kommentare zugelassen oder entfernt werden sollen, wenn HTML-Strings in ein Element
oder ShadowRoot
eingefügt werden oder wenn ein HTML-String in ein Document
geparst wird.
Eine Instanz dieses Typs kann dem Sanitizer()
-Konstruktor übergeben werden, um einen Sanitizer
zu konfigurieren, und wird von Sanitizer.get()
zurückgegeben.
Sie kann auch als option.sanitizer
-Parameter bei Aufrufen der Sanitierungs-Methoden verwendet werden:
setHTMLUnsafe()
odersetHTMLUnsafe()
aufElement
.setHTMLUnsafe()
odersetHTMLUnsafe()
aufShadowRoot
.Document.parseHTMLUnsafe()
oderDocument.parseHTML()
statische Methoden.
Beachten Sie, dass normalerweise eine Sanitizer
-Instanz anstelle von SanitizerConfig
in den obigen Methoden als Option übergeben wird, insbesondere weil sanitizer
-Instanzen effizienter zu teilen und zu modifizieren sind.
Instanzeigenschaften
elements
-
Ein Array, das die beim Sanitieren von HTML zu erlaubenden Elemente angibt und optional auch deren erlaubte oder zu entfernenden Attribute spezifiziert.
Jedes Element kann durch einen Namen (einen String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name
-
Ein String, der den Namen des Elements enthält.
namespace
Optional-
Ein String, der den Namespace des Elements enthält. Der Standardnamespace ist
"http://www.w3.org/1999/xhtml"
. attributes
Optional-
Ein Array, das die Attribute angibt, die auf diesem (erlaubten) Element beim Sanitieren von HTML erlaubt sind.
Jedes Attribut kann durch einen Namen (einen String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name
-
Ein String, der den Namen des Attributs enthält.
namespace
Optional-
Ein String, der den Namespace des Attributs enthält, standardmäßig
null
.
removeAttributes
Optional-
Ein Array, das die Attribute angibt, die bei diesem (erlaubten) Element beim Sanitieren von HTML entfernt werden sollen.
Jedes Attribut kann durch einen Namen (einen String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name
-
Ein String, der den Namen des Attributs enthält.
namespace
Optional-
Ein String, der den Namespace des Attributs enthält, standardmäßig
null
.
removeElements
-
Ein Array, das die zu entfernenden Elemente beim Sanitieren von HTML angibt.
Jedes Element kann durch einen Namen (einen String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name
-
Ein String, der den Namen des Elements enthält.
namespace
Optional-
Ein String, der den Namespace des Elements enthält. Der Standardnamespace ist
"http://www.w3.org/1999/xhtml"
.
replaceWithChildrenElements
-
Ein Array, das die Elemente angibt, die durch ihren Inhalt ersetzt werden sollen, wenn HTML saniert wird. Dies wird hauptsächlich verwendet, um Stile von Text zu entfernen (zum Beispiel könnte man damit
<b>some text</b>
insome text
ändern).Jedes Element kann durch einen Namen (einen String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name
-
Ein String, der den Namen des Elements enthält.
namespace
Optional-
Ein String, der den Namespace des Elements enthält. Der Standardnamespace ist
"http://www.w3.org/1999/xhtml"
.
attributes
-
Ein Array, das die Attribute angibt, die beim Sanitieren von HTML erlaubt sind.
Jedes Attribut kann durch einen Namen (einen String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name
-
Ein String, der den Namen des Attributs enthält.
namespace
Optional-
Ein String, der den Namespace des Attributs enthält, standardmäßig
null
.
removeAttributes
-
Ein Array, das die Attribute angibt, die beim Sanitieren von HTML von Elementen entfernt werden sollen.
Jedes Attribut kann durch einen Namen (einen String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name
-
Ein String, der den Namen des Attributs enthält.
namespace
Optional-
Ein String, der den Namespace des Attributs enthält, standardmäßig
null
.
comments
-
true
, wenn Kommentare erlaubt sind, undfalse
, wenn sie entfernt werden sollen. dataAttributes
-
true
, wenn Datenattribute erlaubt sind, undfalse
, wenn sie entfernt werden sollen.
Beispiele
Erstellen einer "Erlauben"-Konfiguration
Dieses Beispiel zeigt, wie Sie eine "Erlauben"-Sanitizer-Konfiguration erstellen und in diesem Fall dem Sanitizer()
-Konstruktor übergeben können.
const sanitizer = new Sanitizer({
elements: ["div", "p", "script"],
attributes: ["id"],
replaceWithChildrenElements: ["b"],
comments: true,
dataAttributes: false,
});
Beachten Sie, dass Sie nicht sowohl Erlauben- als auch Entfernen-Listen in derselben Konfiguration spezifizieren können, ohne beim Übergeben der Konfiguration an den Konstruktor oder eine Sanitisierungs-Methode eine Ausnahme zu verursachen.
Erstellen einer "Entfernen"-Konfiguration
Dieses Beispiel zeigt, wie Sie eine "Entfernen"-Sanitizer-Konfiguration erstellen und in diesem Fall dem Sanitizer()
-Konstruktor übergeben können.
const sanitizer = new Sanitizer({
removeElements: ["span", "script"],
removeAttributes: ["lang", "id"],
comments: false,
});
Beachten Sie, dass Sie nicht sowohl Erlauben- als auch Entfernen-Listen in derselben Konfiguration spezifizieren können, ohne beim Übergeben der Konfiguration an den Konstruktor oder eine Sanitisierungs-Methode eine Ausnahme zu verursachen.
Spezifikationen
Specification |
---|
HTML Sanitizer API # dom-sanitizer-get |
HTML Sanitizer API # dom-sanitizer-sanitizer |