TrustedTypePolicyFactory: Methode createPolicy()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die createPolicy()-Methode der Schnittstelle TrustedTypePolicyFactory erstellt ein TrustedTypePolicy-Objekt, das die als policyOptions übergebenen Regeln implementiert.

Syntax

js
createPolicy(policyName, policyOptions)

Parameter

policyName

Ein String mit dem Namen der Richtlinie.

policyOptions Optional

Benutzerdefinierte Funktionen zur Umwandlung von Strings in vertrauenswürdige Werte.

createHTML(input[,args])

Eine Callback-Funktion in Form eines Strings, der Code enthält, der beim Erstellen eines TrustedHTML-Objekts ausgeführt wird.

createScript(input[,args])

Eine Callback-Funktion in Form eines Strings, der Code enthält, der beim Erstellen eines TrustedScript-Objekts ausgeführt wird.

createScriptURL(input[,args])

Eine Callback-Funktion in Form eines Strings, der Code enthält, der beim Erstellen eines TrustedScriptURL-Objekts ausgeführt wird.

Rückgabewert

Ein TrustedTypePolicy-Objekt.

Ausnahmen

TypeError

Ausgelöst, wenn Richtliniennamen durch die Content Security Policy trusted-types directive eingeschränkt sind und dieser Name nicht auf der Positivliste steht.

TypeError

Ausgelöst, wenn der Name ein Duplikat ist und die Content Security Policy trusted-types directive allow-duplicates nicht verwendet.

Beispiele

Erstellen einer Richtlinie für HTML-Sinks

Der unten stehende Code erstellt eine Richtlinie mit dem Namen "myEscapePolicy" mit einer definierten Funktion für createHTML(), die HTML bereinigt.

js
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
  createHTML: (string) => string.replace(/</g, "&lt;"),
});

Erstellen einer Standardrichtlinie

Auf einer Website, auf der Trusted Types über eine Content Security Policy mit der require-trusted-types-for-Richtlinie, die auf script gesetzt ist, erzwungen werden, erwartet jedes Einspritzskript, das ein Skript akzeptiert, ein Trusted Type-Objekt. Falls stattdessen ein String eingefügt wird, wird eine Standardrichtlinie verwendet.

Die Standardrichtlinie protokolliert eine Nachricht in der Konsole, um den Entwickler daran zu erinnern, diesen Teil der Anwendung zu überarbeiten, um ein Trusted Type-Objekt zu verwenden. Sie fügt außerdem Details zur Verwendung der Standardrichtlinie, des Typs und des Einspritzsinks zum zurückgegebenen Wert hinzu.

js
trustedTypes.createPolicy("default", {
  createScriptURL: (s, type, sink) => {
    console.log("Please refactor.");
    return `${s}?default-policy-used&type=${encodeURIComponent(
      type,
    )}&sink=${encodeURIComponent(sink)}`;
  },
});

Spezifikationen

Specification
Trusted Types
# dom-trustedtypepolicyfactory-createpolicy

Browser-Kompatibilität

BCD tables only load in the browser