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, "<"),
});
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 的浏览器中加载。