ShadowRoot: setHTMLUnsafe() メソッド
Baseline
2025
最近利用可能
September 2025以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。
setHTMLUnsafe() は ShadowRoot インターフェイスのメソッドで、HTML の文字列を DocumentFragment に解釈できるもので、DOM 内の要素のサブツリーを置き換えます。
入力 HTML には、宣言型のシャドウルートを含めることができます。
メソッド名の接尾辞 "Unsafe" は、このメソッドが、<script> 要素やスクリプト、イベントハンドラーの content 属性など、潜在的に危険な XSS 関連の入力がサニタイズ(無害化)または除去されないことを示しています。
HTML の文字列が、特定のシャドウホストで複数の宣言型のシャドウルートを定義している場合、最初の ShadowRoot のみが作成されます。その後の宣言は、そのシャドウルート内の <template> 要素として解釈できます。
メモ:
HTML の文字列が宣言的なシャドウルートを含む可能性がある場合は、ShadowRoot.innerHTML の代わりにこのメソッドを使用しましょう。