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:

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> in some 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, und false, wenn sie entfernt werden sollen.

dataAttributes

true, wenn Datenattribute erlaubt sind, und false, 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.

js
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.

js
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

Browser-Kompatibilität

api.Sanitizer.get

api.Sanitizer.Sanitizer