TrustedTypePolicy

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

注意:此功能在 Web Workers 中可用。

TrustedTypePolicy 介面屬於 Trusted Types API,它定義了一組用於建立 TrustedType 物件的函式。

TrustedTypePolicy 物件由 TrustedTypePolicyFactory.createPolicy() 建立,用於定義對輸入內容實施安全規則的策略。因此,TrustedTypePolicy 沒有建構函式。

例項屬性

TrustedTypePolicy.name 只讀

包含策略名稱的字串。

例項方法

TrustedTypePolicy.createHTML()

建立一個 TrustedHTML 物件。

TrustedTypePolicy.createScript()

建立一個 TrustedScript 物件。

TrustedTypePolicy.createScriptURL()

建立一個 TrustedScriptURL 物件。

示例

在下面的示例中,我們使用 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-type-policy

瀏覽器相容性