IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Compatibilité entre deux script Javascript


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Compatibilité entre deux script Javascript
    Bonjour,

    J'ai un problème de compatibilité entre deux scripts.

    Si j'active l'un ou l'autre, pas de problème, les deux fonctionnent.

    Par contre si je met les deux sur le site, là pas mal de problème. C'est toujours celui que je met en deuxième qui fonctionne.


    J'ai pu identifier le problème dans ces fonctions:

    Script 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function votedown(lid,hit,type) {
    	$.post("vote.php",{"lid":lid,"hit":hit,"type":type},function(html) {
    		$('span#votedown'+lid).css('display','none');
    		if (html == 'NA') {
    			$('#votedown'+lid).html('deja vote').fadeIn();
    		} else {
    			$('#votedown'+lid).html('A vote contre ! ('+html+')').fadeIn();
    		}
    	});
    }

    Script 2: (avec l'erreur que me sort l'outil javascript de google chrome)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Uncaught TypeError: Object function $(element) {
      if (arguments.length > 1) {
        for (var i = 0, elements = [], length = arguments.length; i < length; i++)
          elements.push($(arguments[i]));
        return elements;
      }
      if (typeof element == 'string')
        element = document.getElementById(element);
      return Element.extend(element);
    } 
     
    has no method 'post'

    Je suppose que le problème est au niveau de la double utilisation ou déclaration de "$.post". mes connaissances en Javascript sont assé faible et je ne connais pas ce type code "$.".

    Donc toutes les info me seraient d'une grande aide, en vous remerciant par avance !

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Points : 496
    Points
    496
    Par défaut
    tu n'aurais pas oublié de mettre jquery ?
    ou alors tu n'aurais pas oublié le plugin "post" de jquery, ça m'en a tout l'air d'etre ça ton problème.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Tu peux préciser ? ces codes ne sont pas de ma patte.

    Je ne pense pas que sela soit ça car ils fonctionnent les deux parfaitement dans l'état où ils sont actuellement tant qu'ils ne sont pas sur une même page.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Après quelques tests, il semble que l'incompatibilité est entre:
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.post("vote.php",{"lid":lid,"hit":hit,"type":type},function(html) {

    Je n'arrive pas à trouver de doc sur l'utilisation du $ dans $(element).

    Je ne connais pas cette "possibilité" de javascript ni ce qu'il fait.

  5. #5
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Oui, on dirait une "collision" : si chacun de tes 2 scripts en conflit essaient de définir une fonction de même nom ("$"), c'est la deuxième qui écrase la première. Si cette deuxième ne possède pas de méthode post et que la première essaie d'y faire référence : PAF

    Donne-nous un lien ou le code complet de tes 2 scripts pour en avoir le coeur net

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    un petit tuto sur les namespace en js
    http://falola.developpez.com/tutorie...ipt/namespace/
    ça evite les confusions entre variables

  7. #7
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par Blue_Key Voir le message
    Je n'arrive pas à trouver de doc sur l'utilisation du $ dans $(element).

    Je ne connais pas cette "possibilité" de javascript ni ce qu'il fait.
    $ n'est pas une possibilité ou fonctionnalité interne de javascript : ça n'existe que dans la mesure où on la définit, comme n'importe quelle fonction. On peut donc appeler une fonction "A", "f", ou "_", donc "$" fait bien l'affaire ^^

    C'est la raison pour laquelle tu ne trouveras pas de réponse dans les docs officielles javascript : seul les scripts dont tu nous parles contiennent la solution à ton problème : cherche dans ces scripts la chaine "fonction $ (", elle doit être présente des deux côtés.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui en effet, je suis allé cherché trop loin. $ n'étant que le nom de la fonction, en effet les deux script avaient une fonction nommée $, manque de chance.


    J'ai donc renommé $ par $X sur l'un des script et maintenant cela fonctionne.

    Merci pour votre aide

Discussions similaires

  1. incompatibilité entre deux scripts javascripts
    Par aze555666 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/08/2012, 20h58
  2. Compatibilité entre deux scripts
    Par lechapelierfou dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/07/2011, 15h05
  3. Conflit entre deux script javascript
    Par Tyrael62 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/06/2008, 09h39
  4. compatibilité entre deux scripts
    Par stars333 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 12/02/2008, 19h46
  5. Problème de compatibilité entre deux scripts
    Par frutix dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2006, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo