TrustedTypePolicy

可用性受限

此功能不是基线功能,因为它在一些使用最广泛的浏览器中无法正常工作。

注意:此功能在Web Workers中可用。

TrustedTypePolicy 接口是 Trusted Types API 的一部分,它定义了一组用于创建 TrustedType 对象的函数。

TrustedTypePolicy 对象由 TrustedTypePolicyFactory.createPolicy() 创建,用于定义用于对输入实施安全规则的策略。因此,TrustedTypePolicy 没有构造函数。

实例属性

TrustedTypePolicy.name 只读

包含策略名称的字符串。

实例方法

示例

在下面的示例中,我们创建了一个策略,该策略将使用 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

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。