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
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.
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
createHTML: (string) => string.replace(/</g, "<"),
});
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.
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 |