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 :

Appel de plusieurs pages .js, mais une seule exécutée.


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Appel de plusieurs pages .js, mais une seule exécutée.
    Bonjour,

    Je m'explique je souhaite réaliser un site avec l'insertion de plusieurs pages .js, j'ai donc fait les tests de mes différents code javascript dans deux pages différentes et les deux applications fonctionnent correctement. Mais lorsque je fais appelle aux deux applications dans la même page il y a qu'une seule de mes application qui est exécuté.


    Personnellement j'ai fais des recherche sur internet à ce sujet mais je n'ai trouvé que l'utilisation de la fonction "addLoadEvent" mais que soit je n'arrive pas à utiliser correctement soit elle ne marche pas pour ce type de problème.

    Je ne vais pas vous faire écrire un charabia mais comme tout le monde je débute et je connais beaucoup d'autre langage mais pas trop le javascript.

    Je vous poste une partie de mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="Photo/Animation/mootools-1.2-core.js"></script> 
    <script type="text/javascript" src="Photo/Animation/_class.noobSlide.packed.js"></script>
     
    <script type="text/javascript">
    	window.addEvent('domready',function(){
    		var info6 = $('box6').getNext().set('opacity',0);
    		var nS6 = new noobSlide({
    			mode: 'vertical',
    			box: $('box6'),
    			items: '',
    			size: 180,
    			handles: $$('#handles6_1 div').extend($$('#handles6_2 div')),
    			handle_event: 'mouseenter',
     
    			fxOptions: {
    				duration: 1000,
    				transition: Fx.Transitions.Back.easeOut,
    				wait: false
    			},
    		});
    		nS6.next();
    	});
    	$(document).ready(function()
    	{
    		$("#secondpane p.menu_head").mouseover(function()
    	    {
    		     $(this).css({backgroundImage:"url(down.png)"}).next("div.menu_body").slideDown(500).siblings("div.menu_body").slideUp("normal");
    	         $(this).siblings().css({backgroundImage:"url(left.png)"});
    		});
    	});
    </script>

    Suivant l'ordre d'appelle de mes pages javascript c'est soit l'une ou soit l'autre qui fonctionne mais les deux applications ne fonctionne jamais en même temps.

    Merci de vos réponses et je souhaite une bonne journée à tous le monde.

    Yo

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Il n'est peut-être pas recommandé de jouer avec plusieurs Framework en même temps. Ils ont parfois des noms identiques pour leurs objets et donc seul la dernière définition de ce "nom" là sera prise en compte. A mon sens, c'est ce qu'il se passe. Surtout quand je vois le selecteur "$".

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Lut Vermine,

    Donc si je comprends bien dans une page on ne peut pas mettre plusieurs code javascript?

    Car il risque d'y avoir une confusion au niveau des variables.

    Ou y aurait-il moyen de faire en sorte que cela passe autrement?

    Yo

  4. #4
    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
    soit une confusion de variable ou un plantage dans le script...

    Donc si je comprends bien dans une page on ne peut pas mettre plusieurs code javascript?
    Ben heu si ... mais si il y a des noms de variables globales communs les script vont interférer.
    D'ou l'utiliser lorsque l'on code des librairies d'utiliser les namespaces

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci de vos réponse, mais cela ne résout pas le problème rencontré au niveau de mes applications, à moins que je supprime l'une des deux pour la remplacer par une autre.

    Yo

  6. #6
    Membre du Club Avatar de SeThYy
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 65
    Points : 51
    Points
    51
    Par défaut
    Il est TRES mauvais d'utiliser Mootools et jQuery sur la même page...

  7. #7
    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
    Jquery le permet, mais il y a une manip a faire niveau Jquery ...

  8. #8
    Membre du Club Avatar de SeThYy
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 65
    Points : 51
    Points
    51
    Par défaut
    T'es pas à l'abri d'une incompatibilité, et la page est deux fois plus lourde.

  9. #9
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Salut andyroddick,
    je ne connais pas MooTools mais je vois dans ton code que cette bibliothèque utilise le symbole $.

    Voilà ce qui se passe :
    – au moment où tu déclares jQuery, elle définit une fonction $
    – puis tu déclares MooTools, qui écrase la définition de jQuery
    – quand tu utilises $ dans ton propre script, tu crois utiliser celui de jQuery, alors que c’est celui de MooTools => Conflit !

    Heureusement, jQuery est partageuse. Il suffit de la déclarer après MooTools, et de rajouter cette instruction au début de ton propre script :
    Après ça, tu peux utiliser le $ pour MooTools, et jQuery pour jQuery.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    // code MooTools
    window.addEvent('domready',function(){
    	var info6 = $('box6').getNext().set('opacity',0);
    	// …
    });
     
    // code jQuery
    jQuery(document).ready(function()
    {
    	jQuery("#secondpane p.menu_head").mouseover(function()
    	{
    		// …
    	});
    });

  10. #10
    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
    Jquery le permet, mais il y a une manip a faire niveau Jquery ...
    Watilin
    Heureusement, jQuery est partageuse. Il suffit de la déclarer après MooTools, et de rajouter cette instruction au début de ton propre script :
    Code :

    jQuery.noConflict();

  11. #11
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Franchement grand merci à "Watilin" QUi vient de résoudre mon problème, je confirme donc que cela fonctionne, mais puis-je avoir plus d'informations sur le fait que cela n'est pas TRES bien à utiliser.

    Les Raisons, si il y a quelque chose que je peux faire de mieux...

    Merci pour toutes vos informations et pour vos réponses rapides.

    Pour information voici ce que j'ai fais pour que cela fonctionne:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    window.addEvent('domready',function(){
    		var info6 = $('box6').getNext().set('opacity',0);
    		var nS6 = new noobSlide({
    			mode: 'vertical',
    			box: $('box6'),
    			items: '',
    			size: 180,
    			handles: $$('#handles6_1 div').extend($$('#handles6_2 div')),
    			handle_event: 'mouseenter',
     
    			fxOptions: {
    				duration: 1000,
    				transition: Fx.Transitions.Back.easeOut,
    				wait: false
    			},
    		});
    		nS6.next();
    	});
     
    	jQuery.noConflict();
     
    	jQuery(document).ready(function()
    	{
    		jQuery("#secondpane p.menu_head").mouseover(function()
    	    {
    		     jQuery(this).css({backgroundImage:"url(down.png)"}).next("div.menu_body").slideDown(500).siblings("div.menu_body").slideUp("normal");
    	         jQuery(this).siblings().css({backgroundImage:"url(left.png)"});
    		});
    	});

    Cordialement,

    Yo

  12. #12
    Membre du Club Avatar de SeThYy
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 65
    Points : 51
    Points
    51
    Par défaut
    Je persiste à penser qu'il ne vaut mieux utiliser qu'une librairie, vu leur poids, et vu le poids de Moo !

  13. #13
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Entièrement d'accord pour éviter de mélanger les Framework. Par contre, le poids de Mootools peut être réduit en exportant uniquement certaines fonctionnalités.
    Bon d'accord, on ne fait pas ce que l'on veut non plus et je parie que dans ce cas-ci il faut la version complète.

  14. #14
    Membre du Club Avatar de SeThYy
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 65
    Points : 51
    Points
    51
    Par défaut
    lol ^^ Mootools est plus lourd que jQuery il me semble, même la version "packée"... à vérifier ^^

  15. #15
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    D'accord, je comprends ce que vous voulez dire mais j'utilise dans ma page plusieurs fois le moteur mootools (multiplication de la même taches) et j'utilise aussi donc jQuery, en local cela fonctionne à merveille. Mais si je comprends votre raisonnement je risque d'avoir des problèmes lorsque je vais publier mon site?


    Juste pour petite information c'est la première fois que j'utilise Mootools et jQuery.

    Merci.

  16. #16
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Non non, avec la proposition de Watilin tout devrait aller. Ce que SeThYy explique c'est que la page va être lourde alors qu'elle pourrait peut-être être plus légère.

  17. #17
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Oui je vois mais pour qu'elle soit plus légère que faut-il que je fasse ou comment dois-je coder cette partie?

    Yo

  18. #18
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Sur le site de Mootools, il faut regarder ce qu'il y a moyen de faire. Mais bon, vérifiez bien que vous ayez les fonctionnalités qu'il vous faut.
    A priori je ne toucherais à rien et je laisserais tout ça comme ça. La base est lourde d'elle-même. Vous n'y échapperez pas.

  19. #19
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    D'accord juste une dernière question, si cela ne vous dérange pas, qu'est ce que vous voulez dire par le fait que la base est lourde?

    Pour le fonctionnement de la base? Avec beaucoup de fonctions inutiles pour mon application?

    Merci...

  20. #20
    Membre du Club Avatar de SeThYy
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 65
    Points : 51
    Points
    51
    Par défaut
    L'idéal serait que tu n'utilises qu'une seule librairie : en fait - ce n'est que mon avis - je penses que jQuery est ce qu'il y a de mieux. Tu peux cependant utiliser Mootools, mais penses bien au fait qu'il y a peut etre l'équivalent du plugin que tu cherche en jQuery (et inversement) !

    Bon courage

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Plusieurs pages générées par une seule page PHP
    Par userparis dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 13/12/2013, 11h49
  2. Réponses: 1
    Dernier message: 30/01/2012, 10h50
  3. Réponses: 11
    Dernier message: 22/04/2008, 15h32
  4. [WPF-Blend] Plusieurs objets mais une seule animation
    Par Tuizi dans le forum Framework .NET
    Réponses: 12
    Dernier message: 11/12/2007, 17h10
  5. [HTML] Plusieurs balises <html> dans une seule page???
    Par v4np13 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 02/07/2005, 17h37

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