TrustedTypePolicyFactory
注意:此功能在 Web Workers 中可用。
TrustedTypePolicyFactory 介面是 Trusted Types API 的一部分,用於建立策略並允許將 Trusted Type 物件與已建立的策略進行驗證。
例項屬性
TrustedTypePolicyFactory.emptyHTML只讀-
返回一個包含空字串的
TrustedHTML物件。 TrustedTypePolicyFactory.emptyScript只讀-
返回一個包含空字串的
TrustedScript物件。 TrustedTypePolicyFactory.defaultPolicy只讀-
返回預設的
TrustedTypePolicy,如果為空則返回 null。
例項方法
TrustedTypePolicyFactory.createPolicy()-
建立一個實現作為
policyOptions傳遞的規則的TrustedTypePolicy物件。 TrustedTypePolicyFactory.isHTML()-
當傳入一個值時,檢查它是否是一個有效的
TrustedHTML物件。 TrustedTypePolicyFactory.isScript()-
當傳入一個值時,檢查它是否是一個有效的
TrustedScript物件。 TrustedTypePolicyFactory.isScriptURL()-
當傳入一個值時,檢查它是否是一個有效的
TrustedScriptURL物件。 TrustedTypePolicyFactory.getAttributeType()-
允許 Web 開發者檢查元素和屬性是否需要 Trusted Type,以及需要哪種 Trusted Type。
TrustedTypePolicyFactory.getPropertyType()-
允許 Web 開發者檢查屬性是否需要 Trusted Type,以及需要哪種 Trusted Type。
示例
下面的程式碼建立了一個名為 "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 |
瀏覽器相容性
載入中…