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 |
瀏覽器相容性
載入中…