A force d’utiliser du JavaScript pour accéder à des services externes, de mauvaises surprises peuvent survenir…

Ce n’est pas une nouvelle : Ajax a le vent en poupe. Suivant de près ou de loin cette technologie, de nombreux sites utilisent des services externes proposés par d’autres sites.

Cette agrégation de services passe soit par une intégration côté serveur, soit par l’utilisation de petit Javascript. De part sa facilité d’intégration, la seconde solution tend à se généraliser. Or elle pose deux problèmes majeurs :

  • certains scripts offrent des performances très médiocres
  • le service dépend de la disponibilité du site du fournisseur

Les sites utilisant Google Analytics peuvent rencontrer ce problème. Comme le signale Clever Age, les difficultés techniques rencontrées par l’outil de statistiques se sont répercutées sur les sites l’utilisant.

Pourquoi ?

Le code Javascript fourni par Google Analytics placé dans la section HEAD des pages, est chargé avant la section BODY. Le script externe étant indisponible, la page ne peut pas se charger. Le site devient alors indisponible. 🙁

Solution

Bien qu’il soit d’usage de déclarer les Javascript dans la section HEAD, il suffit de les déclarer à la fin du document HTML[1]. Ainsi la page se charge normalement, puis essaie de charger les scripts externes. Cette méthode fait parti des recommandations de Google Analytics.

L’emplacement de la déclaration de ressources externes devient importante. De plus, il faudra réfléchir à deux fois avant d’intégrer le dernier service tentance de la sphère web 2.0.

Notes

[1] Tout en restant dans la section BODY pour respecter la syntaxe HTML ou XHTML.