このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

TrustedTypePolicy

Baseline 2026
最近利用可能

2026年2月以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。

メモ: この機能はウェブワーカー内で利用可能です。

TrustedTypePolicy は信頼型 API のインターフェイスで、TrustedType オブジェクトを作成する一連の関数を定義します。

TrustedTypePolicy オブジェクトは、入力データに対するセキュリティルールを適用するためのポリシーを定義するために、TrustedTypePolicyFactory.createPolicy() によって作成されます。したがって、TrustedTypePolicy にはコンストラクターがありません。

インスタンスプロパティ

TrustedTypePolicy.name 読取専用

ポリシーの名前の入った文字列です。

インスタンスメソッド

TrustedTypePolicy.createHTML()

TrustedHTML を作成します。

TrustedTypePolicy.createScript()

TrustedScript を作成します。

TrustedTypePolicy.createScriptURL()

TrustedScriptURL を作成します。

例

以下の例では、 TrustedTypePolicyFactory.createPolicy() を使用して TrustedHTML オブジェクトを作成するポリシーを作成します。その後、 TrustedTypePolicy.createHTML() を使用して、文書に挿入する無害化された HTML 文字列を作成できます。

その後、この無害化された値を Element.innerHTML で使用することで、新たな HTML 要素が挿入されることを確実に防止できます。

html
<div id="myDiv"></div>
js
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
  createHTML: (string) => string.replace(/</g, "&lt;"),
});

let el = document.getElementById("myDiv");
const escaped = escapeHTMLPolicy.createHTML("<img src=x onerror=alert(1)>");
console.log(escaped instanceof TrustedHTML); // true
el.innerHTML = escaped;

仕様書

仕様書
Trusted Types
# trusted-type-policy

ブラウザーの互換性