TrustedTypePolicyFactory
注意:此功能在 Web Workers 中可用。
TrustedTypePolicyFactory 接口是 Trusted Types API 的一部分,用于创建策略并允许将 Trusted Type 对象与已创建的策略进行验证。
实例属性
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()-
允许 Web 开发者检查元素和属性是否需要 Trusted Type,以及需要哪种 Trusted Type。
TrustedTypePolicyFactory.getPropertyType()-
允许 Web 开发者检查属性是否需要 Trusted Type,以及需要哪种 Trusted Type。
示例
下面的代码创建了一个名为 "myEscapePolicy" 的策略,其中定义了一个用于 createHTML() 的函数,该函数可以清理 HTML。
然后,我们使用该策略来清理一个字符串,创建一个 TrustedHTML 对象 escaped。可以使用 isHTML() 来测试此对象,以确保它是由我们的策略创建的。
js
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
createHTML: (string) => string.replace(/</g, "<"),
});
const escaped = escapeHTMLPolicy.createHTML("<img src=x onerror=alert(1)>");
console.log(trustedTypes.isHTML(escaped)); // true;
规范
| 规范 |
|---|
| Trusted Types # trusted-type-policy-factory |
浏览器兼容性
加载中…