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

View in English Always switch to English

TrustedTypePolicyFactory

Limited availability

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

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

TrustedTypePolicyFactory信頼型 API のインターフェイスで、ポリシーを作成し、作成されたポリシーに対して信頼型オブジェクトの検証ができるようにします。

インスタンスプロパティ

TrustedTypePolicyFactory.emptyHTML 読取専用

空文字列の入った TrustedHTML オブジェクトを返します。

TrustedTypePolicyFactory.emptyScript 読取専用

空文字列の入った TrustedScript オブジェクトを返します。

TrustedTypePolicyFactory.defaultPolicy 読取専用

既定の TrustedTypePolicy、または空であれば null を返します。

インスタンスメソッド

TrustedTypePolicyFactory.createPolicy()

policyOptions として渡されたルールを実装した TrustedTypePolicy を作成します。

TrustedTypePolicyFactory.isHTML()

値が渡された場合、それが有効な TrustedHTML オブジェクトであるかどうかを検査します。

TrustedTypePolicyFactory.isScript()

値が渡された場合、それが有効な TrustedScript オブジェクトであるかどうかを検査します。

TrustedTypePolicyFactory.isScriptURL()

値が渡された場合、それが有効な TrustedScriptURL オブジェクトであるかどうかを検査します。

TrustedTypePolicyFactory.getAttributeType()

ウェブ開発者が要素や属性に信頼型が要求されるかどうか、要求される場合はどの信頼型が必要かを確認できるようにします。

TrustedTypePolicyFactory.getPropertyType()

ウェブ開発者がプロパティに信頼型が要求されるかどうか、要求される場合はどの信頼型が必要かを確認できるようにします。

以下のコードは、 "myEscapePolicy" という名前のポリシーを作成し、HTML を無害化する関数 createHTML() を定義します。

次に、ポリシーを使用して文字列を無害化し、 TrustedHTML オブジェクトである escaped を作成します。このオブジェクトは、 isHTML() によって、自分のポリシーのいずれかによって作成されたことを確認できます。

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

const escaped = escapeHTMLPolicy.createHTML("<img src=x onerror=alert(1)>");

console.log(trustedTypes.isHTML(escaped)); // true;

仕様書

Specification
Trusted Types
# trusted-type-policy-factory

ブラウザーの互換性