TrustedTypePolicyFactory
注意:此功能在Web Workers中可用。
TrustedTypePolicyFactory
接口是 Trusted Types API 的一部分,它用于创建策略并允许根据创建的策略验证受信任类型对象。
实例属性
TrustedTypePolicyFactory.emptyHTML
只读-
返回包含空字符串的
TrustedHTML
对象。 TrustedTypePolicyFactory.emptyScript
只读-
返回包含空字符串的
TrustedScript
对象。 TrustedTypePolicyFactory.defaultPolicy
只读-
返回默认的
TrustedTypePolicy
,如果为空则返回 null。
实例方法
TrustedTypePolicyFactory.createPolicy()
-
创建一个
TrustedTypePolicy
对象,该对象实现了作为policyOptions
传递的规则。 TrustedTypePolicyFactory.isHTML()
-
当传递一个值时,检查它是否为有效的
TrustedHTML
对象。 TrustedTypePolicyFactory.isScript()
-
当传递一个值时,检查它是否为有效的
TrustedScript
对象。 TrustedTypePolicyFactory.isScriptURL()
-
当传递一个值时,检查它是否为有效的
TrustedScriptURL
对象。 TrustedTypePolicyFactory.getAttributeType()
-
允许 Web 开发人员检查元素和属性是否需要受信任类型,如果需要,则检查需要哪种类型。
TrustedTypePolicyFactory.getPropertyType()
-
允许 Web 开发人员检查属性是否需要受信任类型,如果需要,则检查需要哪种类型。
示例
以下代码创建了一个名为 "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 |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。