6 votes

Chargement de Google Analytics à partir d'un document jQuery prêt ?

Le problème est que GA met parfois un peu de temps à se charger et que mes fonctions jQuery ready() ne s'exécutent pas tant que le chargement n'est pas terminé. J'aimerais déplacer le code GA lui-même à la fin de la fonction ready(). Je ne cherche pas une intégration supplémentaire du suivi des clics - je veux juste que mes scripts ready() s'exécutent en premier.

Mes questions sont les suivantes : 1) Le déplacement du code GA va-t-il perturber le suivi des statistiques de quelque manière que ce soit ? Et, 2) Dois-je émuler leur utilisation de deux balises script (une qui génère la balise script externe, et une qui appelle la fonction) ? Si oui, pourquoi, et quelle est la meilleure façon de le faire dans une fonction jQuery ?

Pour expliquer le point 2, voici le code GA qui se trouve actuellement juste avant la balise de fermeture du corps :

<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-8704511-1");
pageTracker._trackPageview();
} catch(err) {}</script>

6voto

Török Gábor Points 13913

3voto

claudio Points 1

Il semblerait que Google se soit également attaqué à ce problème - voir cet article plus récent. Question sur Stack Overflow

1voto

janzi Points 148

La raison pour laquelle il y a deux blocs script est que le script du premier bloc insère une référence au fichier javascript de Google Analytics entre les deux blocs. Si tout devait être dans le même bloc, le tracker tenterait d'être initialisé avant d'avoir été chargé. Donc, le point 2 est définitivement vrai, vous devez avoir ou émuler deux balises script.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X