Sanitizer: removeElement() Methode
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die removeElement()
Methode der Sanitizer
Schnittstelle legt ein Element fest, das nicht zugelassen wird — es wird aus der Eingabe entfernt, wenn der Sanitizer verwendet wird.
Das angegebene Element wird der Liste von removeElements
in der Konfiguration dieses Sanitizers hinzugefügt.
Das Element wird aus den Listen elements
oder replaceWithChildrenElements
entfernt, falls vorhanden.
Syntax
removeElement(element)
Parameter
element
-
Ein String, der den Namen des zu verbietenden 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 Namensraum des Elements enthält. Der Standard-Namensraum ist
"http://www.w3.org/1999/xhtml"
.
Rückgabewerte
Keiner (undefined
).
Beispiele
Anleitung zum Ausschließen von Elementen
Dieses Beispiel zeigt, wie removeElement()
verwendet wird, um ein Element als "nicht erlaubt" festzulegen.
JavaScript
Der Code erstellt zuerst ein neues Sanitizer
-Objekt, das ursprünglich <div>
und <script>
Elemente erlaubt und <span>
-Elemente durch ihre Kindelemente 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.
// 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 wird nur zu Demonstrationszwecken bereitgestellt.
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 also keine Wirkung.
Ergebnisse
Die endgültige Konfiguration wird unten protokolliert.
Spezifikationen
Specification |
---|
HTML Sanitizer API # dom-sanitizer-removeelement |