ShadowRoot: customElementRegistry-Eigenschaft
Baseline 2026>
Neu verfügbar
Seit Oktober 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die schreibgeschützte Eigenschaft customElementRegistry der Schnittstelle ShadowRoot gibt das CustomElementRegistry-Objekt zurück, das diesem Shadow Root zugeordnet ist, oder null, wenn keines festgelegt wurde.
Die customElementRegistry eines Shadow Root bestimmt, welche Definitionen von benutzerdefinierten Elementen zum Upgraden von Elementen innerhalb dieses Shadow Tree verwendet werden. Sie kann beim Erstellen des Shadow Root über die Option customElementRegistry von Element.attachShadow() oder später mit CustomElementRegistry.initialize() festgelegt werden. Sobald sie auf ein CustomElementRegistry-Objekt gesetzt wurde, kann sie nicht mehr geändert werden.
Diese Eigenschaft ist auch für Document-Objekte unter demselben Eigenschaftsnamen customElementRegistry verfügbar.
Wert
Ein CustomElementRegistry-Objekt oder null.
Beispiele
>Festlegen einer bereichsspezifischen Registry für einen Shadow Root
Dieses Beispiel erstellt eine bereichsspezifische Registry mit einer benutzerdefinierten Elementdefinition und übergibt sie an Element.attachShadow(). Die Eigenschaft customElementRegistry des resultierenden Shadow Root spiegelt die bereichsspezifische Registry wider.
const myRegistry = new CustomElementRegistry();
myRegistry.define(
"my-element",
class extends HTMLElement {
connectedCallback() {
this.textContent = "Hello from scoped registry!";
}
},
);
const host = document.createElement("div");
document.body.appendChild(host);
const shadow = host.attachShadow({
mode: "open",
customElementRegistry: myRegistry,
});
shadow.innerHTML = "<my-element></my-element>";
console.log(shadow.customElementRegistry === myRegistry); // true
console.log(shadow.querySelector("my-element").textContent);
// "Hello from scoped registry!"
Spezifikationen
| Spezifikation |
|---|
| DOM> # dom-documentorshadowroot-customelementregistry> |