Google Analytics - Einbau nicht möglich (Bugs)

by Martin66 @, Friday, October 14, 2016, 14:09 (344 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 (344 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

--
further development of mlf1

Google Analytics - Einbau nicht möglich

by Martin66 ⌂ @, Sunday, October 16, 2016, 11:05 (342 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 Milo ⌂, Sunday, October 16, 2016, 11:35 (342 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

--
Surveyor-Software: Geodetic Network Adjustment & Deformation-Analysis and Transformation

Tags:
JavaScript, Smarty, Escaping

Google Analytics - Einbau nicht möglich

by Martin66 ⌂ @, Sunday, October 16, 2016, 15:05 (342 days ago) @ Milo

Könne also sein, dass der SMARTY-Interpret hier einen Fehler macht --> http://www.smarty.net/docs/en/language.escaping.tpl

Jawohl, vielen Dank, das war das Problem :-) :clap:

Martin

Avatar

Dein Template-Problem vom November 2015

by Auge ⌂ @, Monday, October 17, 2016, 07:26 (341 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

--
further development of mlf1

RSS Feed of thread
powered by my little forum