Newly available 主要ブラウザで対応済みだが、古いバージョンでは未対応の場合がある。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
124
124
128
26
124
26

setHTMLUnsafe() は Element インターフェイスのメソッドで、HTML の文字列を DocumentFragment として解釈し、DOM 内の要素のサブツリーを置き換えるために使用します。入力された HTML は宣言的シャドウルートを含むことがあります。

124
124
123
26
124
26

setHTMLUnsafe() は ShadowRoot インターフェイスのメソッドで、HTML の文字列を DocumentFragment に解釈できるもので、DOM 内の要素のサブツリーを置き換えます。 入力 HTML には、宣言型のシャドウルートを含めることができます。

124
124
123
26
124
26
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (127)
実装メモ
  • エラー `NS_ERROR_UNEXPECTED` が発生します(バグ 1887817)。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (26)
実装メモ
  • 解析されたHTMLの宣言型シャドウルート内にカスタム要素が存在する場合、それらの要素のコンストラクタおよび`connectedCallback()`メソッドは呼び出されません(バグ 296420)。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (26)
実装メモ
  • 解析されたHTMLの宣言型シャドウルート内にカスタム要素が存在する場合、それらの要素のコンストラクタおよび`connectedCallback()`メソッドは呼び出されません(バグ 296420)。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (26)
実装メモ
  • 解析されたHTMLの宣言型シャドウルート内にカスタム要素が存在する場合、それらの要素のコンストラクタおよび`connectedCallback()`メソッドは呼び出されません(バグ 296420)。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (26)
実装メモ
  • 解析されたHTMLの宣言型シャドウルート内にカスタム要素が存在する場合、それらの要素のコンストラクタおよび`connectedCallback()`メソッドは呼び出されません(バグ 296420)。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (26)
実装メモ
  • 解析されたHTMLの宣言型シャドウルート内にカスタム要素が存在する場合、それらの要素のコンストラクタおよび`connectedCallback()`メソッドは呼び出されません(バグ 296420)。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (26)
実装メモ
  • 解析されたHTMLの宣言型シャドウルート内にカスタム要素が存在する場合、それらの要素のコンストラクタおよび`connectedCallback()`メソッドは呼び出されません(バグ 296420)。

基本構文

JAVASCRIPT
Document.parseHTMLUnsafe(input)
Document.parseHTMLUnsafe(input, options)

実務での使いどころ

  • Unsanitized HTML parsing methods の活用

    parseHTMLUnsafe() は Document オブジェクトの静的メソッドで、HTML 入力を構文解析し、オプションで不要な HTML 要素や属性を除外して、新しい Document インスタンスを生成するために使用されます。

注意点

  • 古いブラウザでは対応していない場合がある。

実装メモ

  • 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。