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

View in English Always switch to English

TrustedTypePolicy

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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;

仕様書

Specification
Trusted Types
# trusted-type-policy

ブラウザーの互換性