Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Sanitizer: removeElement()-Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die removeElement()-Methode des Sanitizer-Interfaces sorgt dafür, dass das angegebene Element aus der Ausgabe entfernt wird, wenn der Sanitizer verwendet wird.

Die Methode kann entweder mit einer Zulassungskonfiguration oder einer Entfernungskonfiguration verwendet werden. Wenn sie mit einer Entfernungskonfiguration verwendet wird, wird das angegebene Element dem removeElements-Array hinzugefügt. Wenn sie mit einer Zulassungskonfiguration verwendet wird, wird das Element aus dem elements-Array entfernt (falls vorhanden).

Syntax

js
removeElement(element)

Parameter

element

Ein String, der den Namen des nicht erlaubten Elements angibt, oder ein Objekt mit den folgenden Eigenschaften:

name

Ein String, der den Namen des Elements enthält.

namespace Optional

Ein String, der den Namespace des Elements enthält. Der Standard-Namespace ist "http://www.w3.org/1999/xhtml".

Rückgabewert

true, wenn die Operation die Konfiguration geändert hat, um das Element nicht zu erlauben, und false, wenn das Element bereits nicht erlaubt war.

Beachten Sie, dass false zurückgegeben werden kann, wenn die interne Konfiguration:

  • ein elements-Array definiert und das Element bereits weggelassen wird (es muss nicht entfernt werden)
  • stattdessen ein removeElements-Array definiert und das angegebene Element bereits vorhanden ist (und daher bereits gefiltert wird)

Beispiele

Anleitung zum Nicht-Erlauben von Elementen

Dieses Beispiel zeigt, wie removeElement() verwendet wird, um ein Element als "nicht erlaubt" zu spezifizieren.

JavaScript

Der Code erstellt zuerst ein neues Sanitizer-Objekt, das anfänglich <div>- und <script>-Elemente zulässt und <span>-Elemente durch ihre Kind-Elemente ersetzt.

Der Code ruft dann removeElement() auf, um <p>, <script>- und <span>-Elemente zur removeElements-Liste in der Konfiguration hinzuzufügen. Beachten Sie, dass das Hinzufügen von <script> und <span> die Elemente aus ihren ursprünglichen Listen entfernt.

js
// Create sanitizer using SanitizerConfig
const sanitizer = new Sanitizer({
  elements: ["div", "script"],
  replaceWithChildrenElements: ["span"],
});

// Disallow the <p> element
sanitizer.removeElement("p");

// Disallow the <script> element
sanitizer.removeElement("script");
// Disallow the <span> element
sanitizer.removeElement("span");

// Log the sanitizer configuration
let sanitizerConfig = sanitizer.get();
log(JSON.stringify(sanitizerConfig, null, 2));

Hinweis: Diese Konfiguration dient nur zu Demonstrationszwecken. Sanitizer-Konfigurationen sollten entweder nur die erlaubten Elemente (elements) oder nur die nicht erlaubten Elemente (removeElements) enthalten, aber nicht beides. In diesem Fall ist nur das <div>-Element erlaubt und alle anderen Elemente werden aus der Eingabe entfernt: Die entfernten Elemente haben daher keine Wirkung.

Ergebnisse

Die endgültige Konfiguration wird unten protokolliert.

Spezifikationen

Specification
HTML Sanitizer API
# dom-sanitizer-removeelement

Browser-Kompatibilität