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 Konfigurationsobjekt für den Sanitizer. 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 werden oder wenn eine HTML-Zeichenkette in ein Document geparst werden soll.

Eine Instanz dieses Typs kann dem Sanitizer() Konstruktor übergeben werden, um einen Sanitizer zu konfigurieren, und wird von Sanitizer.get() zurückgegeben. Außerdem kann sie als das option.sanitizer-Parameter bei der Aufruf der Sanitization-Methoden übergeben werden:

Beachten Sie, dass normalerweise eine Sanitizer Instanz statt SanitizerConfig in den oben genannten Methoden als Option übergeben würde, insbesondere weil sanitizer-Instanzen effizienter zu teilen und zu ändern sind.

Instanz-Eigenschaften

elements

Ein Array, das die zuzulassenden Elemente beim Bereinigen von HTML angibt, wobei optional auch deren erlaubte oder entfernte Attribute spezifiziert werden können.

Jedes Element kann entweder durch seinen Namen (ein Zeichenkette) oder als ein Objekt mit den folgenden Eigenschaften angegeben werden:

name

Eine Zeichenkette, die den Namen des Elements enthält.

namespace Optional

Eine Zeichenkette, die den Namespace des Elements enthält. Der Standard-Namespace ist "http://www.w3.org/1999/xhtml".

attributes Optional

Ein Array, das die erlaubten Attribute dieses Elements bei der HTML-Bereinigung angibt.

Jedes Attribut kann durch seinen Namen (eine Zeichenkette) oder als ein Objekt mit den folgenden Eigenschaften angegeben werden:

name

Eine Zeichenkette, die den Namen des Attributs enthält.

namespace Optional

Eine Zeichenkette, die den Namespace des Attributs enthält, der standardmäßig null ist.

removeAttributes Optional

Ein Array, das die zu entfernenden Attribute dieses Elements bei der HTML-Bereinigung angibt.

Jedes Attribut kann durch seinen Namen (eine Zeichenkette) oder als ein Objekt mit den folgenden Eigenschaften angegeben werden:

name

Eine Zeichenkette, die den Namen des Attributs enthält.

namespace Optional

Eine Zeichenkette, die den Namespace des Attributs enthält, der standardmäßig null ist.

removeElements

Ein Array, das die zu entfernenden Elemente bei der HTML-Bereinigung angibt.

Jedes Element kann entweder durch seinen Namen (ein Zeichenkette) oder als ein Objekt mit den folgenden Eigenschaften angegeben werden:

name

Eine Zeichenkette, die den Namen des Elements enthält.

namespace Optional

Eine Zeichenkette, die den Namespace des Elements enthält. Der Standard-Namespace ist "http://www.w3.org/1999/xhtml".

replaceWithChildrenElements

Ein Array, das die Elemente angibt, die beim Bereinigen von HTML mit ihrem Inhalt ersetzt werden sollen. Dies wird hauptsächlich verwendet, um Stil von Text zu entfernen (zum Beispiel könnten Sie dies verwenden, um <b>einige text</b> zu einige text zu ändern).

Jedes Element kann entweder durch seinen Namen (ein Zeichenkette) oder als ein Objekt mit den folgenden Eigenschaften angegeben werden:

name

Eine Zeichenkette, die den Namen des Elements enthält.

namespace Optional

Eine Zeichenkette, die den Namespace des Elements enthält. Der Standard-Namespace ist "http://www.w3.org/1999/xhtml".

attributes

Ein Array, das die zu erlaubenden Attribute beim Bereinigen von HTML angibt.

Jedes Attribut kann durch seinen Namen (eine Zeichenkette) oder als ein Objekt mit den folgenden Eigenschaften angegeben werden:

name

Eine Zeichenkette, die den Namen des Attributs enthält.

namespace Optional

Eine Zeichenkette, die den Namespace des Attributs enthält, der standardmäßig null ist.

removeAttributes

Ein Array, das die zu entfernenden Attribute von Elementen beim Bereinigen von HTML angibt.

Jedes Attribut kann durch seinen Namen (eine Zeichenkette) oder als ein Objekt mit den folgenden Eigenschaften angegeben werden:

name

Eine Zeichenkette, die den Namen des Attributs enthält.

namespace Optional

Eine Zeichenkette, die den Namespace des Attributs enthält, der standardmäßig null ist.

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" Konfiguration für den Sanitizer erstellen können und in diesem Fall dem Sanitizer() Konstruktor übergeben.

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 angeben können, ohne bei der Übergabe der Konfiguration an den Konstruktor oder eine Bereinigungsmethode eine Ausnahme zu verursachen.

Erstellen einer "entfernen" Konfiguration

Dieses Beispiel zeigt, wie Sie eine "entfernen" Konfiguration für den Sanitizer erstellen können und in diesem Fall dem Sanitizer() Konstruktor übergeben.

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 angeben können, ohne bei der Übergabe der Konfiguration an den Konstruktor oder eine Bereinigungsmethode 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