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 :

Du javascript dans du javascript


Sujet :

JavaScript

  1. #1
    Membre habitu�
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Par d�faut Du javascript dans du javascript
    Bonjour

    Je suis novice. Ce code fonctionne-t-il ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type="text/javascript">
    var random_number = Math.random();
    if (random_number < .5){
    <!--
    <a href="http://tracking.publicidees.com/clic.php?partid=CCCC&progid=CCCC&promoid=CCCC" target="_blank"><img src="http://tracking.publicidees.com/banner.php?partid=CCCC&progid=CCCC&promoid=CCCC" border="0"></a>
    <script type="text/javascript" src="http://tracking.publicidees.com/showbanner.php?partid=CCCC&progid=CCCC&promoid=CCCC"></script>
    //-->
    } else {
    <!--
    <a href="http://tracking.publicidees.com/clic.php?partid=25352&progid=XXXX&promoid=XXXX" target="_blank"><img src="http://tracking.publicidees.com/banner.php?partid=25352&progid=XXXX&promoid=XXXX" border="0"></a>
    <script type="text/javascript" src="http://tracking.publicidees.com/showbanner.php?partid=XXX&progid=XXXX&promoid=XXXX"></script>
    //-->
    }
    </script>
    Merci

  2. #2
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    Ce code fonctionne-t-il ?
    j'e n'en sais rien et toi qu'en penses tu, as tu au moins essay�?

    Juste pour info, quand m�me, reprend les bases sur les commentaires en javascript et la structuration d'un fichier HTML.

  3. #3
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Citation Envoy� par kvf300 Voir le message
    En JavaScript �a se lit : inf�rieur �, n�gation de, d�cr�mentation.

    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  4. #4
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Si ce que tu cherches � faire est de charger un fichier Javascript en Javascript, alors �a s'appelle un script loader. Ce genre d'outils fait simplement une requ�te AJAX et injecte dynamiquement le r�sultat. Tu peux de la m�me fa�on charger dynamiquement une autre page HTML ou une autre feuille de style CSS.

  5. #5
    Membre habitu�
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Par d�faut
    Oui pardon je me suis tromp� voici le code corrig�:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script type="text/javascript">
    var random_number = Math.random();
    if (random_number < .5){
    <a href="http://tracking.publicidees.com/clic.php?partid=CCCC&progid=CCCC&promoid=CCCC" target="_blank"><img src="http://tracking.publicidees.com/banner.php?partid=CCCC&progid=CCCC&promoid=CCCC" border="0"></a>
    <script type="text/javascript" src="http://tracking.publicidees.com/showbanner.php?partid=CCCC&progid=CCCC&promoid=CCCC"></script>
    } else {
    <a href="http://tracking.publicidees.com/clic.php?partid=25352&progid=XXXX&promoid=XXXX" target="_blank"><img src="http://tracking.publicidees.com/banner.php?partid=25352&progid=XXXX&promoid=XXXX" border="0"></a>
    <script type="text/javascript" src="http://tracking.publicidees.com/showbanner.php?partid=XXX&progid=XXXX&promoid=XXXX"></script>
    }
    </script>
    Celui ci est-t-il bon ?

    Merci

  6. #6
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Il y a toujours un m�lange de code HTML dans du code javascript, cela va avoir du mal � fonctionner.

  7. #7
    Membre habitu�
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Par d�faut
    Merci. Alors comment faire pour afficher une fois sur deux l'une ou l'autre de ces 2 banni�res ?

    Merci

  8. #8
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Il te suffit de charger dynamiquement le script en incorporant les bonnes valeurs des variables.

  9. #9
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Ca m'ennuie de dire �a, parce que je pr�pare justement un article sur les bienfaits du templating cot� client, mais peut-�tre que tu aurais moins de mis�res � faire �a c�t� serveur, en PHP par exemple.

  10. #10
    Membre habitu�
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Par d�faut
    N'y connaissant rien au javascript pourriez vous me donner le code pour afficher <a href=""Lien vers mon site A" >Site A</a> une fois sur deux et <a href=""Lien vers mon site B" >Site B</a> l'autre fois sur deux.

    Merci � vous

  11. #11
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Re kfv300,

    pour r�pondre � ta derni�re question, voici un code pr�t-�-l'emploi que je vais tenter d'expliquer :

    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
    var receveur = document.getElementById("conteneur-pub"); // je récupère l'élément dans lequel je vais insérer le lien
     
    // je prépare le lien
    var lien = document.createElement("a");
    lien.target = "_blank";
     
    // ça, tu connais ;)
    var random_number = Math.random();
    if (random_number < 0.5) {
      lien.href = "URL_du_site_A";
      lien.textContent = "site A";
    } else {
      lien.href = "URL_du_site_B";
      lien.textContent = "site B";
    }
     
    // enfin, j'insère le lien
    receveur.appendChild(lien);
    Comme tu le vois il faut que tu saches � l'avance � quel endroit dans ta page tu veux ins�rer ton lien. Avec les scripts de publicit�, ce n'est pas forc�ment le cas ; je reviendrai l�-dessus.


    Pour cet exemple j'ai utilis� des m�thodes du DOM : createElement et appendChild. Ce n'est pas le plus facile pour un d�butant, mais elles sont int�ressantes � conna�tre car elles font pr�cis�ment ce qu'on leur demande. Une autre solution est d'utiliser innerHTML qui permet de taper directement du code HTML :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    receveur.innerHTML = "<a href='URL_du_site_A'>site A</a>";
    C'est l�g�rement mois efficace car le moteur JavaScript va devoir faire appel � l'analyseur HTML pour ensuite utiliser � sous le capot � les m�thodes DOM. Et personnellement, je trouve qu'un script utilisant innerHTML est plus difficile � maintenir.


    Pour ins�rer le lien comme je l'ai d�j� dit, c'est mieux de conna�tre l'�l�ment qui va le recevoir. Dans mon exemple j'ai suppos� qu'il existait dans la page une <div id="conteneur-pub"></div>. Si tu proposes ton code publicitaire � des d�veloppeurs tiers, tu peux leur imposer d'avoir tel ou tel �l�ment avec tel ou tel id dans leur page, mais ils trouveront �a contraignant.
    Il y a toujours la vieille solution d'utiliser document.write(), mais elle est d�conseill�e.
    Le mieux est de d�tecter l'emplacement gr�ce �� la balise script qui inclut justement ton script.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    var script = document.currentScript;
    var receveur = script.parentNode;
     
    // ensuite, on connaît la chanson
    receveur.appendChild(lien);
    Pour faire plus court :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.currentScript.parentNode.appendChild(lien);

    Il reste un dernier probl�me : les scripts que tu cherches � ins�rer. Ils ne sont pas ex�cut�s quand on les ins�re dynamiquement. Comme l'a dit Sylvain, il va falloir que tu fasses du script loading. Je te renvoie � son post�
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

Discussions similaires

  1. cgi/javascript : appeler fonction javascript dans code cgi, need help!
    Par Mr.ux dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 06/12/2007, 07h33
  2. Javascript dans un formulaire
    Par MagicManu dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 26/10/2004, 11h25
  3. R�ponses: 5
    Dernier message: 13/08/2004, 15h40
  4. R�ponses: 2
    Dernier message: 08/08/2003, 17h30
  5. [web] insertion javascript dans du perl
    Par laluna dans le forum Web
    R�ponses: 3
    Dernier message: 28/07/2003, 09h50

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