Sanitizer: removeAttribute() Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Die removeAttribute()-Methode der Sanitizer-Schnittstelle legt fest, dass ein Attribut von allen Elementen entfernt wird, wenn der Sanitizer verwendet wird.
Die Methode kann entweder mit einer allow configuration oder einer remove configuration verwendet werden. Wenn sie mit einer remove configuration verwendet wird, wird das angegebene Attribut dem removeAttributes-Array hinzugefügt. Wenn sie mit einer allow configuration verwendet wird, wird das Attribut aus dem attributes-Array entfernt (falls vorhanden).
Beachten Sie, dass zur erlaubten/unerlaubten Attributen nur auf spezifischen Elementen Sanitizer.allowElement() verwendet werden kann.
Syntax
removeAttribute(attribute)
Parameter
attribute-
Ein String, der den Namen des Attributs angibt, das global auf Elementen unerlaubt sein soll, oder ein Objekt mit den folgenden Eigenschaften:
name-
Ein String, der den Namen des Attributs enthält.
namespaceOptional-
Ein String, der den Namespace des Attributs enthält, der standardmäßig
nullist.
Rückgabewert
true falls die Operation die Konfiguration verändert hat, um das Attribut unerlaubt zu machen, und false falls das Attribut bereits unerlaubt war.
Beachten Sie, dass false zurückgegeben werden kann, wenn die interne Konfiguration:
- ein
removeAttributesArray definiert, das bereits das angegebene Attribut enthält (und daher bereits gefiltert ist) - stattdessen ein
attributesArray definiert, das das Attribut bereits nicht enthält (und daher bereits unerlaubt ist)
Beispiele
>Anleitung zur Unerlauben spezifischer Attribute
Dieses Beispiel zeigt, wie removeAttribute() verwendet wird, um zu spezifizieren, dass ein Attribut von Elementen entfernt werden soll.
JavaScript
Der Code erstellt zuerst ein neues Sanitizer-Objekt, das anfangs keine Attribute oder Elemente spezifiziert. Dann rufen wir removeAttribute() mit den Attributen title und mathcolor auf.
// Create sanitizer that allows
const sanitizer = new Sanitizer({
removeAttributes: [],
});
// Remove the title attribute
sanitizer.removeAttribute("title");
// Remove the mathcolor attribute
sanitizer.removeAttribute("mathcolor");
// Log the sanitizer configuration
let sanitizerConfig = sanitizer.get();
log(JSON.stringify(sanitizerConfig, null, 2));
Ergebnisse
Die endgültige Konfiguration wird unten protokolliert. Beachten Sie, wie beide Attribute jetzt der removeAttributes-Liste hinzugefügt sind (diese Attribute werden entfernt, wenn sie auf Elementen vorhanden sind, wenn der Sanitizer verwendet wird).
Spezifikationen
| Spezifikation |
|---|
| HTML> # dom-sanitizer-removeattribute> |