Ich benutze Google Tag Manager und auch Javascript geladen von Webpack.Erkennen, wenn Google Tag Manager geladen hat Tags
(Im head
Tag meiner Seite, ich habe das Drehbuch GTM Laden, und dann habe ich die manifest.js
, vendor.js
und page-specific.js
von Webpack zusammengestellt.)
Wenn ich eine bestimmte Javascript geladen Bibliothek via GTM (in meinem Fall habe ich das Facebook Pixel als Custom Tag), wie kann ich eine Funktion in meinem page-specific.js
anweisen zu warten, bis der Facebook Pixel Tag von GTM geladen wurde?
(Die Funktion ruft fbq('track', 'Purchase', {value: facebookTrackingPurchaseValue, currency: 'USD'});
, die bereits auf der Facebook-Pixel mit geladen abhängt.)
jetzt rechts, es ist eine Race-Bedingung ist.
Und ich bin es klobig (durch Hinzufügen einer 4-Sekunden-Timeout in meinem page-specific.js
, so dass es eine anständige Wahrscheinlichkeit gibt, dass das Facebook Pixel in GTM bis dahin geladen wurde).
Um klar zu sein: Ich weiß schon, wie mehrere Tags innerhalb GTM einstellt einen GTM-Tag zu warten, zu laden, aber das ist nicht das, was ich versuche, hier zu tun (da meine page-specific.js
nicht innerhalb GTM ist).
Ich habe the documentation und Tutorials überall gesucht, und ich habe nie jemanden gefunden, der beschreibt, wie man diese Art von Abhängigkeit verwaltet.
Ich schätze Ihre Vorschläge.
In diesem Fall Ich hätte gedacht, ein Rückruf wäre eine völlig angemessene Lösung. –
@JBrazier, das Problem mit dem Rückruf ist, dass es von dem Marketing-Tag in Frage ausgeführt werden muss. Ich weiß nicht, ob das Facebook-Tag dies erlaubt, die meisten Marketing-Tags nicht. –
Guter Punkt; Daran hatte ich nicht gedacht. https://StackOverflow.com/a/38582257/5815149 scheint eine Problemumgehung zu empfehlen. –