ShadowRoot: serializable 属性

Baseline 2024
新推出

自 2024 年 9 月起,此功能已可在最新设备和浏览器版本上使用。此功能可能无法在旧设备或浏览器上使用。

serializableShadowRoot 接口的一个只读属性,如果 shadow root 可序列化,则返回 true

如果设置了此属性,可以通过调用 Element.getHTML()ShadowRoot.getHTML() 方法,并将 options.serializableShadowRoots 参数设置为 true 来序列化 shadow root。

shadow root 的 serializable 属性是在创建 shadow root 时指定的,可以通过以下两种方式:在 <template> 元素上添加 shadowrootserializable 属性(以及一个允许的 shadowrootmode 值)以声明方式创建,或者在使用 Element.attachShadow() 时将 options.serializable 参数设置为 true

如果 shadow root 可序列化,则为 true;否则为 false

示例

js
const customElem = document.querySelector("my-shadow-dom-element");
const shadow = customElem.shadowRoot;

// …

// Is it serializable?
const hostElem = shadow.serializable;

规范

规范
DOM
# dom-shadowroot-serializable

浏览器兼容性