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, "&lt;"),
});

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

瀏覽器相容性

另見