Google Analytics - Einbau nicht möglich (Bugs)

by Martin66 @, Friday, October 14, 2016, 14:09 (2713 days ago)

Hallo,

ich möchte Google Analytics nutzen. Wenn ich in main.tpl den dafür erforderlichen Code einbaue, kann das Forum aber nicht mehr aufgerufen werden. Hier, leicht gekürzt, der Codeteil für Analytis, wie er in den HEAD gehört:

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
</script>

Vielleicht hat ja jemand einen Lösungsvorschlag :-)

Martin

Avatar

Google Analytics - Einbau nicht möglich

by Auge ⌂, Friday, October 14, 2016, 14:54 (2713 days ago) @ Martin66

Hallo,

ich möchte Google Analytics nutzen. Wenn ich in main.tpl den dafür erforderlichen Code einbaue, kann das Forum aber nicht mehr aufgerufen werden.

Was passiert konkret statt des "normalen" Aufrufs? Wird die Seite, wenn du den Codeblock aus dem Template entfernt hast, wieder angezeigt?

Hier, leicht gekürzt, der Codeteil für Analytis, wie er in den HEAD gehört:

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
</script>

Hmm, der sieht, bis auf die zwei fehlenden Zeilen (ga('create', 'UA-XXXXX-Y', 'auto'); und ga('send', 'pageview')), aus, wie es die Google-Analytics-Doku zeigt. Wenn die bei Google nicht schon einen Fehler in der eigenen Doku gemacht haben sollten, hat dein Code keinen Fehler. Allerdings wäre ein Fehler in Googles eigener Doku schon längst offenbar geworden.

Da muss also noch etwas anderes sein. Da du nicht mehr den Link zu deiner Seite angibst und auch nur du den Quellcode des geänderten Templates (main.tpl) kennst, wird dir hier leider keiner etwas dazu sagen können. Das einzige, was mich förmlich anspringt, ist der Aufruf function(i,s,o,g,r,a,m). Die foreneigenen, minifizierten JavaScript-Dateien verwenden auch an allen Ecken und Enden auf einen Buchstaben gekürzte Variablenbezeichner. Nicht, dass die Skripte sich in die Quere kommen.

Probiere mal bitte folgendes. Schaue nach, ob neben den minifizierten Skripten js/xxx.min.js auch die "Klartextscripte" js/xxx.js hochgeladen sind und baue die Aufrufe in der main.js entsprechend um (js/xxx.min.js => js/xxx.js). Wird das Forum so im Browser angezeigt?

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Google Analytics - Einbau nicht möglich

by Martin66 ⌂ @, Sunday, October 16, 2016, 11:05 (2711 days ago) @ Auge

Hallo Auge,

Was passiert konkret statt des "normalen" Aufrufs?

Es wird GAR NICHTS angezeigt. Das Forum wird nicht geladen, der Bildschirm bleibt weiß. Kein Quellcode vorhanden.

Wird die Seite, wenn du den Codeblock aus dem Template entfernt hast, wieder angezeigt?

Ja.

Probiere mal bitte folgendes. Schaue nach, ob neben den minifizierten Skripten js/xxx.min.js auch die "Klartextscripte" js/xxx.js hochgeladen sind und baue die Aufrufe in der main.js entsprechend um (js/xxx.min.js => js/xxx.js). Wird das Forum so im Browser angezeigt?

Gute Idee. Hat aber leider nichts gebracht.

Es besteht keine Kollision zu den internen Scritpen: Nehme ich mal spaßeshalber die Scripte des Forums komplett aus main.tpl raus, besteht das Problem ebenfalls.

Inzwischen habe ich das Problem noch etwas eingrenzen können: Es genügt, folgendes einzubauen, um zu verhindern, dass das Forum geladen wird:

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r})
</script>
 

Kürze ich den Code weiter zu (function(i,s,o,g,r,a,m){}), lässt sich das Forum dagegen wieder aufrufen.

Martin

Avatar

Google Analytics - Einbau nicht möglich

by Micha ⌂, Sunday, October 16, 2016, 11:35 (2711 days ago) @ Martin66

Hallo,

Inzwischen habe ich das Problem noch etwas eingrenzen können: Es genügt, folgendes einzubauen, um zu verhindern, dass das Forum geladen wird:

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r})
</script>

Könne also sein, dass der SMARTY-Interpret hier einen Fehler macht, da dieser ja die geschweiften Klammern interpretiert. Wenn dem so ist, müsste es reichen, den gezeigten Code in einer separaten JavaScript Datei einzubinden. Hierzu müsstest Du also eine Textdatei anlegen mit dem Code von Google:

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

und diesen Code dann im Template einbinden in der main.tmpl:

<script src="path/to/file.js" type="text/javascript" charset="utf-8"></script>

Alternativ reichen wohl auch ein paar Leerzeichen, wie in der zitierten Anleitung beschrieben.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Dein Template-Problem vom November 2015

by Auge ⌂, Monday, October 17, 2016, 07:26 (2710 days ago) @ Martin66

Hallo

Mir ist beim stöbern im Forum dein Problem mit der Einbindung einiger Bilder in deinem eigenen Template über den Weg gelaufen. Ich weiß natürlich nicht, ob es das Problem überhaupt noch gibt, aber dennoch habe ich mir dazu noch ein paar Gedanken gemacht.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

RSS Feed of thread