samedi, septembre 12, 2009

Google Analytics ne fonctionne pas

Depuis un mois, j'ai ajouté le "New tracking code" de Google Analytics sur un de mes sites web. Après un jour ou deux, je vais voir mes statistiques pour constater qu'aucune statistique n’a été enregistrée. J'ai vérifié la syntaxe de ma page, tout semblait correct, elle passait même les la validation de W3C http://validator.w3.org/.
Quelque jour plus tard, je m'aperçois que le statut de la vérification de la présence du code javascript n'était pas complété. Je complète et laisse encore aller quelques jours.
Plusieurs jours passe et je retourne vois les statistiques, toujours rien. Je retourne vérifier la structure de la page tout semble parfait. Une idée me vient, je modifie le catch(err) { } du code de Google comme suis :
//
try { var pageTracker = _gat._getTracker("UA-XXXXXXXXX-X");
pageTracker._trackPageview();
} catch(err) {alert(err);}
//
A l'ouverture du site je reçois un alert qui me donne une erreur "TypeError: g.substring is not a function" quelle partie de ma page web peut bien cause cette erreur ? Je commence donc à essayer d'isoler le problème en enlevant des parties de ma page web, le contenue, les autres script de la page j'ai toujours l'erreur. Finalement, j'enlève mon formulaire html.
<form name="domain" ...>
</form>
Une fois enlevée, l'erreur ne s'affiche plus.
La raison de ce comportement est probablement que le code javascript de Google Analytics crée un formulaire dynamiquement avec le nom "domain" pour l'envoi de ses statistiques. Donc il y avait un conflit.

Résolution du bogue

Pour corriger, il faut enlever la partie name="domain" du formulaire. Il faut évitez de nommer vos formulaires comme ceux Google. Ils devrait utiliser un nom un peu moins générique comme googledomain ou tout autre nom qui ressemble à un hachage.

0 commentaires:

Publier un commentaire

S'abonner à Publier des commentaires [Atom]

<< Accueil