Le code GA à insérer me supprime du code html [Problème résolu]

Nouveau WRInaute
Bonjour à tous amis référenceurs,

Après de moultes recherches sur les problèmes connus de Google Analytic, je vous présente un bug relativement magique 8O
Après je n'ai peut être pas assez bien cherché, c'est fort possible mais je l'expose quand même.

Je viens de refaire un site, de quoi ça parle on s'en fout j'ai pas envie d'en faire la promotion mais je vous mets le lien quand même pour que vous constatiez le bug : winluxurywatches.com

J'ai organisé la mise en page avec un système de template (smarty pour les connaisseurs).

2 cas de figures :
- Je place le code de suivi fournit par Google (le nouveau hein) dans mon fichier footer.tpl, présent sur toutes les pages du site, juste avant la balise </body>, et la c'est le drame, sur le site lorsque je regarde la source, cela me coupe tout le bas du site, donc tout le contenu du footer.tpl (à savoir liens de bas de page, copyright...)

- Je place le code de suivi dans un fichier google.tpl, que j'inclue dans le footer.tpl, en gros cela reviens à faire la même chose que le premier cas de figure. Mais le résultat est différent ! Le fichier footer.tpl s'affiche correctement, mais dans la source et bien mes balises </body> et </html> ne s'affiche pas... Magique hein ? :) En terme d'affichage on s'en fout de ces balises mais j'aimerais quand même respecter les normes !

Voilà je le répète c'est fort possible que j'ai mal cherché avant de posté (pourtant j'y ai passé une heure), mais si jamais vous avez déjà vu ce tour de magie et que vous en avez trouvé la solution... A vos claviers :D

Merci d'avance et à bientôt !

EDIT : Si ça peut aider, lorsque je lance une validation W3C avec le code de Google l'API W3C me retourne une erreur 500 sur mon site. Sans le code Google la valdation se fait correctement (et en plus c'est valide ! :) )
 
Nouveau WRInaute
Re: [Problème] Le code à insérer me supprime du code html

Up :? J'ai essayé de contacter le support Google sans réponse non plus :(
Est ce si magique que ça ?
 
WRInaute accro
Re: [Problème] Le code à insérer me supprime du code html

Dans le premier cas tu dis que l'affichage de ton footer est coupé, mais le code HTML généré il a quelle tête ? Es-tu sûr que ton bout de JS est bien structuré (balises fermantes et ouvrantes) ?
 
Nouveau WRInaute
Re: [Problème] Le code à insérer me supprime du code html

Bonjour,

J'ai mis en place le code afin que tu puisse voir dans la source ce que ça donne. J'ai utilisé le deuxième cas, le site étant fonctionnel j'aimerais que les visiteurs puissent voir le footer.

Donc dans la source, tu pourras constater que les 2 dernières lignes sont des </div>

Ce qui vient logiquement après c'est ceci (fournit par Google):

Code:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
	var pageTracker = _gat._getTracker("UA-3964410-2");
	pageTracker._trackPageview();
} 
catch(err) {}
</script>

Puis mes 2 balises </body> et </html>

J'ai vérifié, toutes les balises <script> sont fermées. De plus aucune erreur javascript n'est detectée sur le site.

Si j'enlève la deuxième partie du code de Google soit ça :
Code:
<script type="text/javascript">
try {
	var pageTracker = _gat._getTracker("UA-3964410-2");
	pageTracker._trackPageview();
} 
catch(err) {}
</script>

Aucun problème d'affichage. Cela viendrait il de chez eux du coup ? Vu que cette partie de code est censée faire la liaison avec leur serveur Analytic...

Merci :)
 
Olivier Duffez (admin)
Membre du personnel
Re: [Problème] Le code GA à insérer me supprime du code html

en allant sur ton site je ne vois pas de code GA...
 
Nouveau WRInaute
Re: [Problème] Le code GA à insérer me supprime du code html

Oui il ne s'affiche pas, de la même manière que les deux dernières balises. Je vais supprimer la deuxième partie du code Google, vous pourrez voir donc que la première partie du code s'affiche ainsi que les deux balises
 
Olivier Duffez (admin)
Membre du personnel
Re: [Problème] Le code GA à insérer me supprime du code html

le pb ne viendrait-il pas du système de templates ? ça marche bien avec d'autres exemples de scripts JS ?
 
Nouveau WRInaute
Re: [Problème] Le code GA à insérer me supprime du code html

Tous les autres script Javascript fonctionnent (par exemples les animations flash sont inclues à l'aide de javascript).
C'es possible que cela vienne du système de template puisque dans l'ancienne version du site, qui n'utilisait pas de templates, le code GA fonctionnait. Je vais me pencher la dessus... En attendant de nombreux sites utilisent ce système de templates, Smarty.
Je tiens au courant, il y a sûrement d'autres personnes qui tomberont sur ce problème :)
 
Nouveau WRInaute
Re: [Problème] Le code GA à insérer me supprime du code html

Ca y est j'ai trouvé la solution... Cela venait bien du système de templates.

Donc pour ceux qui auraient le même soucis, avec le système de templates Smarty (ça doit surement le faire avec d'autres), il faut entourer le code javascript par ces 2 balises : {literal} ..... {/literal}

Sujet résolu. Merci ! :)
 
Nouveau WRInaute
Exactement, ce qui pose problème dans le code javascript du tag analytic, c'est le { et le } car smarty utilise ce signe pour insérer les variables dans le template. Exemple {MA_VARIABLE} affichera le contenu de la variable MA_VARIABLE :D
Donc comme tu le dis, la solution consiste à utiliser les balises literal et tout ce qui se trouve entre ces balise n'est pas interprété par smarty


Sinon rien à voir mais olivier j'ai un big problème depuis quelques temps, impossible de me souvenir et de récupérer mon mot de passe et mon mail est certainement un ancien mail donc impossible de recevoir un nouveau mot de passe :roll: J'ai donc dû recréer un compte mais ça m'embête de lacher celui que j'avais créer il y a plusieurs années :cry:
 
Discussions similaires
Haut