k8o

LLMS

parseHtmlUnsafeでHTMLをDocumentに変換する

公開: 2025年10月11日(土)
更新: 2025年10月11日(土)

TrustedHTMLまたはHTML文字列をDocumentオブジェクトに変換するparseHtmlUnsafe()関数がBaseline 2025に追加されました。

名前にUnsafeとついている通り、このメソッドはXSSの危険性がある要素を自動的には削除しません。 安全性を重視したparseHTML()メソッドも存在しますが、こちらは多くのブラウザでまだ実装されていないため、現時点ではparseHTMLUnsafe()が主に使用されています。

Unsafeな状況を軽減するため、いくつかの対策が用意されています。 変換元の値としてTrustedHTMLを使用する方法や、第2引数のオプションでsanitizerを指定する方法などです。ただし、TrustedHTMLは本記事執筆時点ではFirefoxでサポートされておらず、sanitizerオプションも多くのブラウザで未対応という状況です。

この機能はDeclarative Shadow DOMを扱う際に特に有効です。 似た機能を持つDOMParser.parseFromString()プロパティを使ってDeclarative Shadow DOMを用いたWeb Componentsを含むHTMLレスポンスを解析しても、parseFromStringはDeclarative Shadow DOMを解析できません。 一方、parseHTMLUnsafe()はDeclarative Shadow DOMも解析できるため、これらのコンポーネントを正しく解析することが可能です。

この記事はどうでしたか?

500文字以内でご記入ください

ブログの購読

k8oのブログを購読する

k8oのブログを購読することで、最新の情報を受け取ることができます。

登録いただいたメールアドレスは、購読のためにのみ使用されます。