Pusieur Script dans <head>

Bonjour,

Je possède un scripte qui change aléatoirement mes images et je voudrai l'exécuter plusieurs fois
mais je ne peut pas mettre plusieur fois ce type de scripte dans la balise HEAD car il entre en conflit
je voudrai donc mettre mon scripte en externe (.js) mais je ne sais pas comment faire

voila le scripte que je place dans la balise <head>

<SCRIPT LANGUAGE="JavaScript">
/*
SCRIPT BANNIERE*/

var nbimage= 30;
var width;
var height;
var url;
var alte;
function banniere()
{
numimage= Math.round(Math.random()*(nbimage-1)+1);
if (numimage <= 10)
{
gotosite = "";
url = "Banniere/barre-tool.gif";
alte = "Bannière1";
}
if (numimage > 10 && numimage <= 20)
{
gotosite = "";
url = "Banniere/barre-tool2.gif";
alte = "Bannière2";
}
if (numimage > 20)
{
gotosite = "";
url = "Banniere/barre-tool3.gif";
alte = "Bannière3";
}
if(gotosite != "")
{
document.write ('<A HREF="' + gotosite + '">');
}
document.write('<IMG SRC="' + url + '" ALT="' + alte + '" BORDER=0>')
if(gotosite != "")
{
document.write('</A>')
}
}
</SCRIPT>

et voila la partie que je place dans la balise <body>

<!--
SCRIPT BANNIERE
--><center>
<SCRIPT language="JavaScript">
banniere();
</SCRIPT></center>
<!-- FIN DU SCRIPT --><noscript><a href="http:https://www.google.fr/?gws_rd=ssl">ajax</a></noscript>

Pour l'utiliser en externe (.js) qu'es ce que je doit mettre dans la balise <head>
dans la balise <body> et dans le fichier .js

Merci d'avance pour votre aide
Configuration: Microsoft windows Xp Professionnel Version 2002 Service Pack 3
Processor ? : 2,21 GHz pour 2,2 Go de RAM

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. tiens ce script pourrait t'aider :

    http://lti.epfl.ch/Documents/ObjetsJavascript.html

    mais apprend déjà a créer le fichier : https://openclassrooms.com/fr/courses/146276-tout-sur-le-javascript/142280-votre-premier-script#ss_part_3

    et lis tout le tuto pour avoir au moins les bases en js sinon je ne sais pas si tu pourras comprendre le premier document.
    1. Justement je ne sais pas comment faire d'ou mon problème
      je cherche des solutions pour éviter les conflits de code

      Qu'esce que je doit faire pour encapsuler le code dans des objets
      car je ne comprend pas et comment je crée le fichier .js ??
      1. un ou 10 fichier.js reviennent au même ou même les scripts inclus dans les pages html...

        si deux fonctions ou deux variables par exemple on le même nom elles rentreront en conflit

        pour éviter ce genre de chose le mieux et de tout encapsuler dans des objets...
        1. Merci pour toutes les réponses que vous m'apporter mais elle ne répondent pas à ma questions
          je voudrais utiliser plusieurs script dans le fichier index mais ceux si entre en conflit
          sachant que la solution est de l'utiliser en externe (.js)
          qu'es ce que je doit mettre dans la balise <head>
          dans la balise <body> et dans le fichier .js

          Mes recherches sur google pour apprendre plus à ce sujet
          non pas été bénéfique donc je me tourne vers vous.

          Concernant l'ancienneté de ce sript (ce qui est vrai) la n'es pas le soucie
          je voudrai juste comprendre le fonctionnement des fichier .js
          avec un script que je sais qu'il fonctionne

          Je vais bien sur l'améliorer par la suite mais si vous
          me faite une proposition je ne serai pas contre

          Merci de bien vouloir éclairer ma lanterne
          1. Merci pour toutes les réponse que vous m'apportez mais sa ne répond pas a ma question
            car j'ai plusieurs script a mettre sur ma page index mais sa en fait vraiment trop et
            sa crée des confies entre eux donc pour l'utiliser en externe (.js)
            qu'es ce que je doit mettre dans la balise <head>
            dans la balise <body> et dans le fichier .js

            Pour l'ancienneté du script la n'es pas le soucie
            je voudrai juste comprendre le fonctionnement des fichier .js
            avec un scipt que je sais qu'il fonctionne

            Merci de bien vouloir éclairer ma lanterne
            1. Commence par faire un code propre : pas de majuscules dans les noms de balises et dans les attributs !
              Ensuite, ce n'est pas language="JavaScript" mais type="text/javascript". En gros, ça donne ça :
              <script type="text/javascript">
              /* Le script */
              </script>
              1. je disais merdique en rapport au w3c les balises en majuscule les trucs comme ça... et non pour l'algorithme.
                1. En ce qui concerne le code: effectivement, il ne faut pas utiliser document.write mais createTextNode ou CreateElement. Puis pour le placer où tu veux dans la page il faut utiliser un appendChild. Ces fonctions sont beaucoup plus propres que celles que tu utilises. Apprends à t'en servir.

                  1. le mettre dans un fichier externe ne changera rien c'est mieux niveaux propreté mais ca ne changera strictement rien au conflit

                    modifie le pour que la fonction se rappelle elle même au bout de tant de temps.

                    function banniere() {
                    	setInterval(function() {
                    		numimage= Math.round(Math.random()*(nbimage-1)+1);
                    		if (numimage <= 10) {
                    			gotosite = "";
                    			url = "Banniere/barre-tool.gif";
                    			alte = "Bannière1";
                    		}
                    		if (numimage > 10 && numimage <= 20) {
                    			gotosite = "";
                    			url = "Banniere/barre-tool2.gif";
                    			alte = "Bannière2";
                    		}
                    		if (numimage > 20) {
                    			gotosite = "";
                    			url = "Banniere/barre-tool3.gif";
                    			alte = "Bannière3";
                    		}
                    		if(gotosite != "") document.write ('<A HREF="' + gotosite + '">');
                    		document.write('<IMG SRC="' + url + '" ALT="' + alte + '" BORDER=0>');
                    		if(gotosite != "") document.write('</A>');
                    	},1000);
                    } 


                    un truc de se genre devrait fonctionner mais ton code et très moche !
                    document.write() ne devrait plus être utilisé ! les balises doivent être écrite en minuscule les attribut également et border=0 devrait être supprimé ou au moins mettre les "

                    ce script est merdique !
                    1. On a tous commencé comme ça... et je pense ne pas me tromper en disant que toi aussi tu as commencé en tapant des scripts pourris. Voila pour le script merdique.