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

View in English Always switch to English

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.

js
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

Browser-Kompatibilität

Siehe auch