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

瀏覽器相容性

參見