SanitizerConfig
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das SanitizerConfig Dictionary der HTML Sanitizer API repräsentiert ein Sanitizer-Konfigurationsobjekt.
Die Konfiguration gibt an, welche Elemente, Attribute und Kommentare erlaubt sind oder entfernt werden sollen, wenn HTML-Strings in ein Element oder ShadowRoot eingefügt 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.
Es kann auch als Parameter option.sanitizer übergeben werden, wenn die Sanitierungs-Methoden aufgerufen werden:
setHTML()odersetHTMLUnsafe()aufElement.setHTML()odersetHTMLUnsafe()aufShadowRoot.Document.parseHTML()oderDocument.parseHTMLUnsafe()statische Methoden.
Beachten Sie, dass normalerweise eine Sanitizer-Instanz anstelle von SanitizerConfig in den oben genannten Methoden übergeben würde, insbesondere weil sanitizer-Instanzen effizienter geteilt und modifiziert werden können.
Instanzeigenschaften
elements-
Ein Array, das angibt, welche Elemente beim Sanitisieren von HTML erlaubt sind und optional ihre erlaubten oder entfernten Attribute spezifiziert.
Jedes Element kann durch Namen (ein String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name-
Ein String, der den Namen des Elements enthält.
namespaceOptional-
Ein String, der den Namensraum des Elements enthält. Der Standard-Namensraum ist
"http://www.w3.org/1999/xhtml". attributesOptional-
Ein Array, das angibt, welche Attribute auf diesem (erlaubten) Element beim Sanitisieren von HTML erlaubt sind.
Jedes Attribut kann durch Namen (ein String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name-
Ein String, der den Namen des Attributs enthält.
namespaceOptional-
Ein String, der den Namensraum des Attributs enthält, was standardmäßig
nullist.
removeAttributesOptional-
Ein Array, das angibt, welche Attribute von diesem (erlaubten) Element beim Sanitisieren von HTML entfernt werden sollen.
Jedes Attribut kann durch Namen (ein String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name-
Ein String, der den Namen des Attributs enthält.
namespaceOptional-
Ein String, der den Namensraum des Attributs enthält, was standardmäßig
nullist.
removeElements-
Ein Array, das angibt, welche Elemente beim Sanitisieren von HTML entfernt werden sollen.
Jedes Element kann durch Namen (ein String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name-
Ein String, der den Namen des Elements enthält.
namespaceOptional-
Ein String, der den Namensraum des Elements enthält. Der Standard-Namensraum ist
"http://www.w3.org/1999/xhtml".
replaceWithChildrenElements-
Ein Array, das angibt, welche Elemente durch ihren Inhalt ersetzt werden sollen, wenn HTML sanitisiert wird. Dies wird hauptsächlich verwendet, um Stile von Text zu entfernen (zum Beispiel könnten Sie dies verwenden, um
<b>some text</b>zusome textzu ändern).Jedes Element kann durch Namen (ein String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name-
Ein String, der den Namen des Elements enthält.
namespaceOptional-
Ein String, der den Namensraum des Elements enthält. Der Standard-Namensraum ist
"http://www.w3.org/1999/xhtml".
attributes-
Ein Array, das angibt, welche Attribute beim Sanitisieren von HTML erlaubt sind.
Jedes Attribut kann durch Namen (ein String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name-
Ein String, der den Namen des Attributs enthält.
namespaceOptional-
Ein String, der den Namensraum des Attributs enthält, was standardmäßig
nullist.
removeAttributes-
Ein Array, das angibt, welche Attribute von Elementen entfernt werden sollen, wenn HTML sanitisiert wird.
Jedes Attribut kann durch Namen (ein String) oder als Objekt mit den folgenden Eigenschaften spezifiziert werden:
name-
Ein String, der den Namen des Attributs enthält.
namespaceOptional-
Ein String, der den Namensraum des Attributs enthält, was standardmäßig
nullist.
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 "allow"-Konfiguration
Dieses Beispiel zeigt, wie Sie eine "allow" Sanitizer-Konfiguration erstellen könnten, und in diesem Fall an den Sanitizer()-Konstruktor übergeben.
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 eine Ausnahme zu verursachen, wenn die Konfiguration an den Konstruktor oder eine Sanitierungs-Methode übergeben wird.
Erstellen einer "remove"-Konfiguration
Dieses Beispiel zeigt, wie Sie eine "remove" Sanitizer-Konfiguration erstellen könnten, und in diesem Fall an den Sanitizer()-Konstruktor übergeben.
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 eine Ausnahme zu verursachen, wenn die Konfiguration an den Konstruktor oder eine Sanitierungs-Methode übergeben wird.
Spezifikationen
| Specification |
|---|
| HTML Sanitizer API> # dom-sanitizer-get> |
| HTML Sanitizer API> # dom-sanitizer-sanitizer> |
Browser-Kompatibilität
>api.Sanitizer.get
Loading…
api.Sanitizer.Sanitizer
Loading…