jeudi, 13 octobre 2011 07:13

Les boutons, le module Calendrier, le code javascript ne fonctionnent pas

Écrit par 
Évaluer cet élément
(2 Votes)
  • Les boutons du formulaires d'inscription ne fonctionnent pas.  Vous cliquez sur "Je viendrai" et rien, AllEvents ne réagit pas. 
  • Vous avez installé le module calendrier et les flèches qui permettent de changer de mois ne réagissent pas.   
  • Vous êtes dans la page événementielle, sous le tableau des inscrits et lorsque vous cliquez sur les petits bonshommes pour p.e. voir la liste des personnes qui ont répondu "Je ne sais pas encore"; rien ne se passe.
  • ...

En bref, le code Javascript n'est pas fonctionnel.   Pourquoi ?

Si le code JS ne fonctionne pas, c'est qu'il y a quelque part une erreur qui a planté l'exécution du code.  Les navigateurs lisent le code Javascript comme si on lirait un livre : la première page puis la seconde.   Si le code qui se trouve en première page contient une erreur qui plante le navigateur, ce dernier arrête de lire et jette le livre à la poubelle.   Le code de la seconde page est ignoré.

Si une erreur de programmation du code Javascript de AllEvents n'est évidemment pas à exclure, il y a une première origine qui est très simple à vérifier : est-ce qu'il y aurait une erreur JS sur la première page qui interrompt la lecture du code JS sur la seconde ?   De manière plus terre-à-terre : est que le code JS chargé avant le code JS de AllEvents contient une erreur ?

Firefox - Firebug

Je vous propose d'ouvrir votre site avec Firefox sur lequel vous avez préalablement installé Firebug

  • Ouvrez un nouvel onglet dans Firefox
  • Accédez à votre page web qui ne fonctionne pas; celle sur laquelle les boutons, les liens, ... sont inactifs
  • Activez Firebug en appuyant sur la touche F12 de votre clavier.
  • Dans l'écran de Firebug, cliquez sur l'onglet "Console". 
  • Apparait maintenant à droite de "Console" une petite flèche.  Cliquez sur la flèche.
  • Vérifiez que "Activé" soit sélectionné.   Faites de même pour "Afficher les erreurs Javascript" et "Afficher les avertissement Javascript"
  • Cliquez maintenant sur l'onglet "Script".
  • Cliquez sur la flèche à droite de "Script"
  • Vérifiez que "Activé" soit sélectionné ainsi que "Show Break Notifications"
  • Finalement, appuyez sur CTRL-F5 depuis votre clavier pour forcer un refresh complet de la page

Firebug, actif, devrait vous afficher un message d'erreur pour chaque erreur Javascript rencontrée.   Ces erreurs sont donc celles qui rendent inactifs le code de AllEvents. 

L'erreur rencontrée mentionne un nom de fichier, une description de l'erreur et un numéro de ligne.

Le nom du fichier devrait vous permettre d'identifier s'il s'agit d'un fichier AllEvents ou pas (présence du mot "allevents" dans le nom du fichier).  Si c'est AllEvents, merci de m'en informer grâce au forum privé.  Si ce n'est pas AllEvents, la seule chose que vous devez faire est d'identifier le coupable : sur base du nom du fichier, du dossier qui le contient, vous devriez être capable de retrouver le nom du module, du plugin ou du template qui génère cette faute et de tenter de résoudre l'erreur.  

Internet Explorer (aussi connu sous le nom de Immonde Explorateur)

Connectez-vous sur la page web sur laquelle les boutons ne fonctionnent pas et appuyez sur la touche F12 de votre clavier.

Appuyez ensuite sur F5 pour forcer IE de rafraîchir votre page.

Si lors du chargement de votre page, IE indique l'une ou l'autre erreur JS comme celle-ci dessous illustrée, cela indique qu'un code JS a planté et que, en fonction du navigateur, le code JS qui suit est ou pas ignoré.    Jusqu'à sa version actuelle (IE9), IE stoppe la lecture.   Le code de AllEvents est donc ignoré; les boutons, fonctions JS de AllEvents sont donc inopérantes.

AllEvents. Les boutons / le module Calendrier ne fonctionnent pas
(cliquez pour agrandir)

Solutions ?

Une des solutions à mettre en oeuvre est, sur un site Joomla 1.5, de vérifier si vous avez le plugin Mootools - Upgrade d'activé.   Si c'est le cas, désactivez-le et tentez à nouveau l'affichage de votre page.

Si l'erreur persiste et si le nom du fichier qui provoque l'erreur vous permet d'identifier que c'est AllEvents, merci de m'en informer via le forum privé.

Si ce n'est pas AllEvents, changez temporairement de template.  Si l'erreur disparait, c'est donc une erreur JS dont la source est dans le template.   Si c'est un template évolué, vérifiez ses paramètres et désactivez les compressions p.e.

Si l'erreur persiste, ce n'est donc pas le template : voyez alors du côté des modules et des plugins. 

Sur base du nom du fichier JS fautif, tentez de deviner le nom du module / plugin fautif.  Désactivez-le si cela est possible, temporairement pour voir si vous tenez le coupable.   Si vous avez identifié le fautif, voyez sur le site du développeur s'il existe une nouvelle version ?  Si pas, envoyez un message à cette personne en lui indiquant l'erreur et le contexte de l'erreur.

Bonne recherche.

Lu 3135 fois Dernière modification le samedi, 05 mai 2012 23:05
Christophe

Christophe -Développeur de :

  • aeSecure; logiciel de protection de sites web Apache (Joomla, WP, Drupal, ...) http://aesecure.com
  • AllEvents; gestionnaire d'évènements pour Joomla

 

Site internet : allevents.avonture.be
Connectez-vous pour commenter. Attention, merci de ne pas poster des questions : veuillez utiliser le forum pour cela svp.