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.

Die removeElement()-Methode der Sanitizer-Schnittstelle legt fest, dass das angegebene Element entfernt wird, wenn der Sanitizer verwendet wird.

Die Methode kann entweder mit einer Allow-Konfiguration oder einer Remove-Konfiguration verwendet werden. Bei Verwendung mit einer Remove-Konfiguration wird das angegebene Element dem removeElements-Array hinzugefügt. Bei Verwendung mit einer Allow-Konfiguration 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 zuzulassen, und false, wenn das Element bereits nicht zugelassen war.

Beachten Sie, dass false zurückgegeben werden könnte, wenn die interne Konfiguration:

  • ein elements-Array definiert und das Element bereits ausgelassen 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 zur Nichtzulassung von Elementen

Dieses Beispiel zeigt, wie removeElement() verwendet wird, um ein Element als "nicht zulässig" zu kennzeichnen.

JavaScript

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

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

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 zur Demonstration. Sanitizer-Konfigurationen sollten entweder nur die erlaubten Elemente (elements) oder nur die nicht erlaubten Elemente (removeElements) enthalten, jedoch nicht beides. In diesem Fall ist nur das <div>-Element erlaubt, und alle anderen Elemente werden aus dem Input entfernt: Die entfernten Elemente haben also keinen Effekt.

Ergebnisse

Die endgültige Konfiguration wird unten protokolliert.

Spezifikationen

Specification
HTML Sanitizer API
# dom-sanitizer-removeelement

Browser-Kompatibilität