ShadowRoot: mode-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Die schreibgeschützte mode
-Eigenschaft des ShadowRoot
gibt den Modus an – entweder open
oder closed
. Dies definiert, ob die internen Merkmale des Shadow Roots von JavaScript aus zugänglich sind oder nicht.
Wenn der mode
eines Shadow Roots "closed"
ist, sind die Implementierungsinternas des Shadow Roots von JavaScript aus nicht zugänglich und unveränderlich – genauso wie die Implementierungsinternas des z. B. <video>
-Elements von JavaScript aus nicht zugänglich und unveränderlich sind.
Der Eigenschaftswert wird mithilfe der mode
-Eigenschaft des Objekts festgelegt, das an Element.attachShadow()
übergeben wird, oder mithilfe des shadowrootmode
-Attributs des <template>
-Elements, wenn ein Shadow Root deklarativ erstellt wird.
Wert
Beispiele
// We create a closed shadow root, that is not accessible
let element = document.createElement("div");
element.attachShadow({ mode: "closed" });
element.shadowRoot; // null as the shadow root is closed
// We create an open shadow root, that is accessible
let element2 = document.createElement("div");
element2.attachShadow({ mode: "open" });
console.log(`The shadow is ${element2.shadowRoot.mode}`); // logs "The shadow is open"
element2.shadowRoot.textContent("Opened shadow"); // The shadow is open, we can access it from outside
Spezifikationen
Specification |
---|
DOM # dom-shadowroot-mode |