Vorrei inserire del javascript nella regione before-script-load.
È possibile ottenere questo risultato tramite un tema o un tema-component?
Vorrei inserire del javascript nella regione before-script-load.
È possibile ottenere questo risultato tramite un tema o un tema-component?
deve essere eseguito in quel preciso punto (ordine di esecuzione)? il browser caricherà tutti quegli script nel tag head indipendentemente dal loro ordine. puoi aggiungere lo script nell’area del tag head andando nella sezione modifica CSS/HTML di un tema in admin-customize-themes. se il tuo tema è ospitato e non consente la personalizzazione, puoi aggiungerlo con un componente del tema (o al file del tag head del repository se è il tuo tema).
Quella è una pagina di sviluppo che non viene utilizzata in produzione.
Per quanto riguarda le pagine effettive in Discourse, i temi possono inserire contenuti nell’elemento head senza problemi, ma senza molto controllo sul punto esatto in cui avviene, ma come ha detto @Lilly questo non dovrebbe essere un problema.
Se puoi dirci maggiori dettagli su cosa vuoi realizzare esattamente, potremmo offrire alcuni suggerimenti.
Penso che tu voglia metterlo in un inizializzatore.
Dai un’occhiata a Split up theme Javascript into multiple files
Ma Falco ne sa molto di più di me.
Grazie @Lilly, @Falco e @pfaffman.
Credo che questo sia il mio problema principale.
Ad esempio, devo assicurarmi che l’oggetto dataLayer che imposto venga sempre aggiunto alla pagina prima di qualsiasi altro script, se possibile. Soprattutto prima che GTM venga caricato (sia tramite il builtin, sia tramite un loader personalizzato).
Nella mia casella di sviluppo locale, ho provato a utilizzare gli initializers, i pre-initializers e il template head_tag.html;
E all’interno del template head_tag.html, ho provato a racchiudere il mio codice con i tag <script></script> e <script type="text/discourse-plugin" version="0.1"></script>.
Con ciascuno di essi posso vedere l’ordine di avvio relativo l’uno all’altro. Ma a parte questo, non sembra che io abbia il controllo sull’ordine degli script caricati.