Да!
На MDN есть хорошее объяснение с примерами.
Выражение источника
'strict-dynamic'указывает, что доверие, явно предоставленное скрипту в разметке (например, через nonce или хеш), должно распространяться на все скрипты, загружаемые этим корневым скриптом.
Таким образом, пока исходный скрипт считается доверенным (благодаря nonce), браузер разрешает ему загружать любые другие скрипты без ограничений. А поскольку эти скрипты также считаются доверенными, они могут загружать ещё больше!
Однако есть одно ограничение: скрипты не могут быть «вставлены парсером». Это предотвращает использование strict-dynamic для XSS-атак.
Например, такой код считается «вставленным парсером» и будет заблокирован:
document.head.appendChild("<script src='https://example.com/xss-attempt.js' />");
Но создание элемента скрипта программно не требует HTML-парсинга, гораздо менее вероятно является вектором XSS, поэтому это разрешено:
const script = document.createElement("script");
script.src = "https://example.com/script.js";
document.head.appendChild(script);
^^ именно так работает функция loadScript()