The mode property of the ShadowRoot specifies its mode — either open or closed. This defines whether or not the shadow root's internal features are accessible from JavaScript.
When the mode of a shadow root is "closed", the shadow root’s implementation internals are inaccessible and unchangeable from JavaScript—in the same way the implementation internals of, for example, the <video> element are inaccessible and unchangeable from JavaScript.
var mode = shadowRoot.mode
A value defined in the ShadowRootMode enum — either open or closed.
let customElem = document.querySelector('my-shadow-dom-element');
let shadow = customElem.shadowRoot;
// Another way to check whether the shadow root is open; it will return null if not
if(shadow) {
// If it is open, close it to stop people stealing our secrets!
shadow.mode = 'closed';
} | Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'ShadowRoot.mode' in that specification. | Living Standard |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 53 | No | 63
|
No | 40 | 10.1 |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | 53 | 53 | No | 63
|
40 | 10.1 | 6.0 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/mode