Comment injecter du contenu dans `before-script-load` ?` ?

Je voudrais injecter du javascript dans la région before-script-load.

Est-il possible d’y parvenir via un thème ou un composant de thème ?

3 « J'aime »

doit-il s’exécuter à cet endroit exact (ordre d’exécution) ? le navigateur chargera tous ces scripts de balise head quel que soit leur ordre. vous pouvez ajouter le script dans la zone de balise head en accédant à la section modifier CSS/HTML d’un thème dans admin-customize-themes. si votre thème est hébergé et n’autorise pas la personnalisation, vous pouvez l’ajouter avec un composant de thème (ou au fichier de balise head du dépôt si c’est votre thème).

2 « J'aime »

C’est une page de développement qui n’est pas utilisée en production.

Quant aux pages réelles de Discourse, les thèmes peuvent injecter du contenu dans l’élément head sans problème, mais sans beaucoup de contrôle sur l’endroit exact où cela se produit, mais comme l’a dit @Lilly, cela ne devrait pas poser de problème.

Si vous pouvez nous donner plus de détails sur ce que vous voulez accomplir, nous pourrons vous proposer quelques suggestions.

2 « J'aime »

Je pense que vous voulez le mettre dans un initialiseur.

Jetez un œil à Split up theme Javascript into multiple files

Mais Falco en sait beaucoup plus à ce sujet que moi.

2 « J'aime »

Merci @Lilly, @Falco et @pfaffman.

Je crois que c’est mon problème principal.

Par exemple, je dois m’assurer que l’objet dataLayer que je définis est toujours ajouté à la page avant tout autre script, si possible. Surtout avant que GTM ne se charge (que ce soit via le module intégré ou un chargeur personnalisé).

Sur ma boîte de développement locale, j’ai essayé d’utiliser les initializers, les pre-initializers, et le modèle head_tag.html;
Et à l’intérieur du modèle head_tag.html, j’ai essayé d’envelopper mon code avec les balises <script></script> et <script type="text/discourse-plugin" version="0.1"></script>.

Avec chacun d’eux, je peux voir l’ordre de démarrage les uns par rapport aux autres. Mais à part cela, je ne semble pas avoir le contrôle sur l’ordre des scripts chargés.

3 « J'aime »