Wie fügt man Inhalt in `before-script-load` ein?

Ich möchte etwas JavaScript in den before-script-load-Bereich injizieren.

Ist es möglich, dies über ein Theme oder eine Theme-Komponente zu erreichen?

3 „Gefällt mir“

muss es an dieser exakten Stelle (Ausführungsreihenfolge) ausgeführt werden? Der Browser lädt alle Skripte im Head-Tag, unabhängig von ihrer Reihenfolge. Sie können das Skript im Head-Tag-Bereich hinzufügen, indem Sie im Bereich admin-customize-themes zu „Edit CSS/HTML“ gehen. Wenn Ihr Theme gehostet wird und keine Anpassung zulässt, können Sie es mit einer Theme-Komponente (oder in der Head-Tag-Datei des Repositories, wenn es Ihr Theme ist) hinzufügen.

2 „Gefällt mir“

Das ist eine Entwicklungsseite, die nicht in der Produktion verwendet wird.

Was die eigentlichen Seiten in Discourse betrifft, können Themes Inhalte in das Head-Element einfügen, aber ohne viel Kontrolle über den genauen Ort, an dem dies geschieht. Aber wie @Lilly sagte, sollte dies kein Problem sein.

Wenn Sie uns mehr Details darüber geben können, was genau Sie erreichen möchten, können wir Ihnen einige Vorschläge machen.

2 „Gefällt mir“

Ich glaube, Sie möchten es in einen Initialisierer einfügen.

Schauen Sie sich Split up theme Javascript into multiple files an.

Aber Falco weiß mehr darüber als ich.

2 „Gefällt mir“

Vielen Dank @Lilly, @Falco und @pfaffman.

Ich glaube, das ist mein Hauptproblem.

Zum Beispiel muss ich sicherstellen, dass das von mir gesetzte dataLayer-Objekt immer vor jedem anderen Skript zur Seite hinzugefügt wird, wenn möglich. Insbesondere vor dem Laden von GTM (entweder über die integrierte Funktion oder einen benutzerdefinierten Loader).

Auf meiner lokalen Entwicklungsbox habe ich versucht, die initializes, pre-initializers und die head_tag.html-Vorlage zu nutzen.
Und innerhalb der head_tag.html-Vorlage habe ich versucht, meinen Code mit \u003cscript\u003e\u003c/script\u003e und den \u003cscript type=\"0.1\" version=\"0.1\"\u003e\u003c/script\u003e-Tags zu umschließen.

Mit jedem dieser Versuche kann ich die Bootstrapping-Reihenfolge relativ zueinander sehen. Aber abgesehen davon scheine ich keine Kontrolle über die Reihenfolge der geladenen Skripte zu haben.

3 „Gefällt mir“