ShadowRoot: setHTMLUnsafe() メソッド
Baseline 2025 Newly available
Since September 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
setHTMLUnsafe()
は ShadowRoot
インターフェイスのメソッドで、HTML の文字列を DocumentFragment
に解釈できるもので、DOM 内の要素のサブツリーを置き換えます。 入力 HTML には、宣言型のシャドウルートを含めることができます。
メソッド名の接尾辞 "Unsafe" は、このメソッドが、<script>
要素やスクリプト、イベントハンドラーの content 属性など、潜在的に危険な XSS 関連の入力がサニタイズ(無害化)または除去されないことを示しています。
HTML の文字列が、特定のシャドウホストで複数の宣言型のシャドウルートを定義している場合、最初の ShadowRoot
のみが作成されます。その後の宣言は、そのシャドウルート内の <template>
要素として解釈できます。
メモ: HTML の文字列が宣言的なシャドウルートを含む可能性がある場合は、ShadowRoot.innerHTML
の代わりにこのメソッドを使用しましょう。