Nous voyons souvent des sujets de support de personnes essayant d’ajouter des références JavaScript externes à leurs thèmes. Par défaut, la politique de sécurité du contenu (CSP) bloque cela, et l’administrateur doit ajouter manuellement le script au paramètre du site CSP (ou à un paramètre/modificateur de thème).
Cependant, @Johani a fait une excellente suggestion sur la façon dont nous pouvons l’améliorer.
Plutôt que de demander aux développeurs de thèmes de copier/coller des éléments dans l’interface d’administration, nous pouvons le faire automatiquement. Nous pouvons analyser tout le HTML d’un thème, extraire la source de tous les scripts externes et les ajouter à la CSP.
Après tout, les ordinateurs sont bien meilleurs que les humains pour les opérations répétitives de copier/coller !
Je rencontre des erreurs dans la console en local :
Dans les environnements de production, je vois également des sources ajoutées au format https://CDN_SERVER/theme-javascripts/31657759d037d8c06397e9965a1113169100846e.js..., ce qui est redondant car la stratégie autorise déjà https://CDN_SERVER/theme-javascripts. Serait-il possible de limiter l’extension automatique aux sources de scripts externes uniquement ?
Merci @pmusaraj, j’ai ajouté quelques vérifications supplémentaires pour nous assurer que nous ne servons pas d’URL invalides dans la CSP, et j’ai également veillé à exclure les URL de theme-javascript :