ShadowRoot: getHTML() 方法

Baseline 2024
新推出

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

ShadowRoot 接口的 getHTML() 方法用于将 Shadow Root 的 DOM 序列化为 HTML 字符串。

该方法提供了一个选项参数,允许序列化作为 Shadow Root 的子节点。这些选项可用于包含已被设置为 serializable 的嵌套 Shadow Root,和/或指定的 ShadowRoot 对象数组,这些对象可以是开放的或封闭的。

不带参数时,作为 Shadow Root 的子节点将不会被序列化,此方法与读取 Element.innerHTML 的值行为相同。

请注意,当 <> 字符出现在属性值中时,某些浏览器会将其序列化为 &lt;&gt;(请参阅浏览器兼容性)。这是为了防止潜在的安全漏洞(变异 XSS),其中攻击者可以精心构造绕过净化函数的输入,从而实现跨站脚本(XSS)攻击。

语法

js
getHTML(options)

参数

options 可选

一个包含以下可选参数的 options 对象

serializableShadowRoots

一个布尔值,指定是否包含 serializable 的 Shadow Root。默认值为 false

shadowRoots

要序列化的 ShadowRoot 对象数组。无论它们是否被标记为 serializable,或者它们是开放的还是封闭的,都会被包含。默认值是一个空数组。

返回值

表示 Shadow Root 的 HTML 序列化的字符串。

异常

无。

规范

规范
HTML
# dom-shadowroot-gethtml

浏览器兼容性

参见