TrustedTypePolicyFactory: createPolicy() Methode

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 des TrustedTypePolicyFactory Interfaces erstellt ein TrustedTypePolicy Objekt, das die als policyOptions übermittelten Regeln umsetzt.

Syntax

js
createPolicy(policyName, policyOptions)

Parameter

policyName

Ein String mit dem Namen der Richtlinie.

policyOptions Optional

Vom Benutzer definierte Funktionen zur Umwandlung von Strings in vertrauenswürdige Werte.

createHTML(input[,args])

Eine Callback-Funktion in Form eines Strings, der den auszuführenden Code beim Erstellen eines TrustedHTML Objekts enthält.

createScript(input[,args])

Eine Callback-Funktion in Form eines Strings, der den auszuführenden Code beim Erstellen eines TrustedScript Objekts enthält.

createScriptURL(input[,args])

Eine Callback-Funktion in Form eines Strings, der den auszuführenden Code beim Erstellen eines TrustedScriptURL Objekts enthält.

Rückgabewert

Ein TrustedTypePolicy Objekt.

Ausnahmen

TypeError

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

TypeError

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

Beispiele

Eine Richtlinie für HTML-Senken erstellen

Der untenstehende 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;"),
});

Eine Standardrichtlinie erstellen

Auf einer Website, auf der Trusted Types durch eine Content Security Policy mit der require-trusted-types-for Direktive auf script gesetzt erzwungen werden, erwartet jedes Injektionsskript, das ein Skript akzeptiert, ein Trusted Type Objekt. Für den Fall, dass 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 auch Details zur Verwendung der Standardrichtlinie, des Typs und der Injektionssenke 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