Bonjour les gens
Voila, Pour l'optimisation d'un site joomla, on cherche à gérer les appels des fichiers javascript. Or Joomla charge automatiquement et bêtement la librairie mootools à toutes les pages. Il nous faut donc retirer mootools (on préfère jQuery qui est nettement plus pratique)
On installe donc le plugin InterExt qui se charge d'appeler jQuery à la place de mootools.
MAIS (car oui, il y a un mais)
SOUS IE9 les formulaires ne sont plus envoyés !!!
Le problème vient de fireEvent qui sous IE9 aurait des ratés
Qu'a cela ne tienne ! débuggons dans la joie et la bonne humeur le fichier core.js (situé dans notre cas dans le dossier media/system/js/core.js) et une fois le fichier déminifié gràce au site http://jsbeautifier.org/ retrouvons nous ligne 11 et remplacons les lignes suivantes
if ("function" == typeof b.onsubmit) b.onsubmit();
"function" == typeof b.fireEvent && b.fireEvent("submit");
par celles ci :
/*modifs joachim*/
/*if ("function" == typeof b.onsubmit) b.onsubmit();//ne fonctionne pas sous IE9
"function" == typeof b.fireEvent && b.fireEvent("submit");*/
if (document.addEventListener) {
// alert("IE9 or greater");
}else{
if ("function" == typeof b.onsubmit) b.onsubmit();
"function" == typeof b.fireEvent && b.fireEvent("submit");
}
/*fin modifs joachim*/
c'est tout bête, on vérifie la version du navigateur avant d'appeler la fonction :)
Voila, c'est déjà fini !