ShadowRoot: getHTML() メソッド
Baseline 2024>
最近利用可能
2024年9月以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。
getHTML() は ShadowRoot インターフェイスのメソッドで、シャドウルートの DOM を HTML 文字列にシリアライズするために使用します。
このメソッドは、options 引数を提供しており、シャドウルートである子ノードのシリアライズができるようにします。options を使用すると、シリアライズ可能なネストされたシャドウルートを含めることができます。また、ShadowRoot オブジェクトの指定された配列を含めることもできます。この配列は、開いているものも閉じているものも含みます。
引数がない場合、シャドウルートである子ノードはシリアライズされず、このメソッドは Element.innerHTML の値を読み取る場合と同じ動作をします。
なお、一部のブラウザーでは、属性値内に < や > 文字が現れる場合、これらを < や > としてシリアライズします(ブラウザーの互換性を参照)。
これは、攻撃者が無害化関数を迂回するような入力を仕掛けることで、クロスサイトスクリプティング (XSS) 攻撃をすることができる、潜在的なセキュリティ上の脆弱性(ミューテーション XSS(英語))を防ぐためのものです。
構文
getHTML(options)
引数
options省略可-
次のオプションのパラメーターを持つオプションオブジェクトです。
serializableShadowRoots-
論理値で、シリアライズ可能なシャドウルートを含めるかどうかを指定します。 デフォルト値は
falseです。 shadowRoots-
シリアライズする
ShadowRootオブジェクトの配列です。 これらは、serializableとしてマークされているかどうか、または開かれているか閉じられたかに関係なく含まれます。 デフォルト値は空の配列です。
返値
文字列で、シャドウルートの HTML シリアライズを表します。
例外
なし。
仕様書
| 仕様書 |
|---|
| HTML> # dom-shadowroot-gethtml> |