Jump to content

Conflit Jquery ?!? Mauvaise ponctuation ?!?


Recommended Posts

Bonjour,

 

Je tourne depuis peu sous 1.6.0.6 et j'en suis bien content !

 

Je retravaillais mes cms via le back-office, j'ai peut-être mis à jour certains modules qui le demandaient, bon rien qui me paraissait bien méchant...

 

Depuis quelques jours en tout, je me casse la tête pour trouver la cause du dysfonctionnement.

 

Le menu de mon template ne se déploye plus, le "help" dans la top bar non plus, les nouveaux produits ont disparus du slider en page d'accueil (même s'ils sont toujours bien présent lorsque je clique sur le lien d'en-tête du slider), et j'en passe...

 

J'ai utilisé firebug pour comprendre l'origine et j'ai comparé avec un site qui utilise le même template que moi.  Donc En examinant par exemple le "help" de la top bar, et que dans firebug, je regarde l'onglet "Events", je remarque qu'il y a 2 "listeners" : mouseout et mouseover qui n'apparaissent pas chez moi lorsque je fais la même chose...

 

C'est à peine jusque là que j'arrive et maintenant, je ne sais plus quoi faire pour continuer mon investigation... :unsure:

 

Quelqu'un sait par quel moyen je peux trouver ce qui ne va pas ?

Y-a-t'il un outil d'analyse accessible qui pourrait m'aider ?

 

Merci !

Link to comment
Share on other sites

Magique !!!!

ça fonctionne à nouveau, en tout cas pour le menu et la boîte de recherche des produits en ajax !
Merci !

 

Je peux savoir comment vous avez trouvé si vite ?!??  Car même si ça ne résoud pas entièrement mon problème, ça me paraît être une bonne piste !

Histoire d'essayer de résoudre le problème par moi-même pour remettre le module par la suite....

 

PS  ça fonctionne pour le menu mais rien n'apparait ni dans les sliders (nouveaux produits, promos, marques), le "help" de la top bar ne fonctionne tjs pas ni le bouton "haut"  qui est fixe dans la barre de droite (sa couleur ne change pas quand on descend dans la page)

Edited by Profette (see edit history)
Link to comment
Share on other sites

Il faut utiliser la console de google chrome qui vous indique les erreurs javascript dans votre cas le problème venais d'une erreur javascript dans ce module.

 

Bon maintenant que vous avez désactivé le module une nouvelle erreur survient:

 

 

Uncaught ReferenceError: isPlaceholer is not defined

C'est le même message que lorsque le module newsletter était activé mais cette fois pour le module "stblogcomment".

 

Donc finalement le problème ne vient pas du module newsletter mais sans doute d'un autre module ou d'un fichier du theme qui devrait définir la fonction isPlaceHoler.

Il faudrait voir où cette fonction doit être initialisée au départ et comprendre pourquoi elle ne l'ai pas.

Si tout les modules (du theme) utilise cette fonction et que celle-ci n'est pas initialisée c'est normal que ça bug un peu partout, si c'est bien le cas résoudre ce problème de fonction corrigera l'intégralité de vos problèmes (ou du moins une bonne partie).

  • Like 1
Link to comment
Share on other sites

Merci pour la piste & les explications !
 
Comme je l'avais mentionné dans mon premier post, je mettais à jour mes pages cms et j'ai mis à jour 2-3 modules (natifs) qui le demandaient...
 
Pour essayer de cibler l'origine de mon problème, est-ce possible qu'il s'agisse d'une bête erreur de ponctuation ?  Par exemple, j'aurais oublié de fermer une balise ou quelque chose dans ce goût là ?
 
La fonction est dans le global.js du thème, qui est bien appelé pour la génération des pages et est très courte. 

function isPlaceholer(){
var input = document.createElement('input');    return "placeholder" in input;
}

Même moi je crois comprendre cette fonction qui me paraît super simple. Comment une fonction pareille arrive à planter ?!?? :blink:

Edited by Profette (see edit history)
Link to comment
Share on other sites

oui c'est tout à fait possible qu'une erreur de syntaxe fasse que cette fonction n'est pas chargée.

J'ai regardé global.js mais le problème c'est que tout est concaténé donc illisible.

 

Tu peux copier le code de global.js dans le forum ? S'il est trop long copie les 20 lignes avant et après cette fonction pour qu'on repère s'il y a une erreur de syntaxe.

Link to comment
Share on other sites

Pour être sûr de mon coup, je copié tout le fichier même si je ne crois pas qu'il y ait un problème de ponctuation dans ce fichier vu que je n'y pas touché ou bien j'ai quelques problèmes d'absence... :D

 

je joins une copie du global.js déconcaténé.

 
Pour le "déconcaténé", j'utilise ce site : http://tools.arantius.com/tabifier
Ce n'est pas encore parfait mais déjà mieux qu'avant...

global.js_copy.txt

Link to comment
Share on other sites

C'est fait...

jQuery(function($){    function isPlaceholer(){	var input = document.createElement('input');    return "placeholder" in input;} window_width = $(window).width(); etc etc  ...

et l'erreur est toujours là...

Link to comment
Share on other sites

Je vais le faire !

Merci beaucoup à toi pour ton temps & tes conseils A NOUVEAU !!!

 

Une dernière petite question : Pour éviter ça à l'avenir...  Ca veut dire qu'avant chaque mise à jour de module, il faut faire un backup intégral du site ?!??

 

Parce que là par exemple, 17 modules demandent d'être mis à jour et 0 il y a deux jours...

Edited by Profette (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...