Yup!
MDN hat eine schöne Erklärung und Beispiele.
Der
'strict-dynamic'-Quellausdruck besagt, dass das Vertrauen, das einem im Markup vorhandenen Skript ausdrücklich durch die Begleitung mit einem Nonce oder Hash gegeben wird, auf alle Skripte übertragen wird, die von diesem Root-Skript geladen werden.
Solange das ursprüngliche Skript vertrauenswürdig ist (über einen Nonce), erlaubt der Browser das Laden anderer Skripte ohne Einschränkung. Und da diese Skripte vertrauenswürdig sind, können sie weitere laden!
Es gibt eine Einschränkung: Skripte dürfen nicht “parser-inserted” sein. Dies verhindert, dass strict-dynamic für XSS-Angriffe ausgenutzt wird.
Zum Beispiel wäre dies “parser-inserted” und würde blockiert werden:
document.head.appendChild("<script src='https://example.com/xss-attempt.js' />");
Aber das programmatische Erstellen des Skriptelements beinhaltet keine HTML-Analyse, ist viel weniger wahrscheinlich ein XSS-Vektor und wird daher zugelassen:
const script = document.createElement("script");
script.src = "https://example.com/script.js"
document.head.appendChild(script);
^^ Dies ist im Wesentlichen, wie loadScript() funktioniert.