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