TrustedHTML
注意:此功能在 Web Workers 中可用。
TrustedHTML 接口属于 Trusted Types API,表示一个字符串,开发人员可以将其插入到 注入槽 中,该字符串将被渲染为 HTML。这些对象是通过 TrustedTypePolicy.createHTML() 创建的,因此没有构造函数。
TrustedHTML 对象的值在创建时设置,不能通过 JavaScript 更改,因为它没有暴露设置器。
实例方法
TrustedHTML.toJSON()-
返回存储数据的 JSON 表示。
TrustedHTML.toString()-
包含经过清理的 HTML 的字符串。
示例
在下面的示例中,我们创建一个策略,该策略使用 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-html |
浏览器兼容性
加载中…