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