Inclure un fichier dans une fonction [Résolu]

Signaler
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020
-
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020
-
Bonjour,

J' aimerai savoir s'il est possible d'inclure un fichier js dans une fonction ?
Voici un bout de mon code
function store( data )
 {
  
  data[  0 ] = new Stock( "Athena",
        "message d'erreur imputation",
        "Messages_bloquants/Message_Erreur_Imputation.docx" );
  data[  1 ] = new Stock( "Athena",
        "Changer_numero_imputation.",
        "Athena/Changer_numero_imputation.txt" );
 
 }

J 'aimerai déplacer les lignes de code "data......." dans un autre fichier , et le rapeler dans la function store( data)

voici le code en entier
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
    <title>Support SSPG</title>
     <link href="code.css" type="text/css" rel="stylesheet" />
    <script language="Javascript">
<!--


 function afficher()
 {
  document.writeln( '<h3><a href=' + this.url + ' rel="nofollow noopener noreferrer" target="_blank">' + this.titre
  + '</a></h3><p class=noindent>' + this.keyword + '<br><a href=' + this.url + ' rel="nofollow noopener noreferrer" target="_blank">' + this.url + '</a></p>\n' );
 }

 function Stock( titre_in,keyword_in,url_in )
 {
  this.titre  = titre_in;
  this.keyword = keyword_in;
  this.url  = url_in;
  this.afficher = afficher;
 }

 function store( data )
 {
  
  data[  0 ] = new Stock( "Athena",
        "message d'erreur imputation",
        "Messages_bloquants/Message_Erreur_Imputation.docx" );
  data[  1 ] = new Stock( "Athena",
        "Changer_numero_imputation.",
        "Athena/Changer_numero_imputation.txt" );
 
 }
 

/* Cette fonction réécrit entièrement la page web pour y afficher les résultats */
 function rechercher( chaine )
 {
  var trouved = 0;

  chaine = chaine.toUpperCase();
  var data = new Array();
  store( data );

  document.writeln( "<html><head><title>Résultats de la recherche</title><link href='/common/style.css' rel='stylesheet' type='text/css'></head>" );
  document.writeln( "<body class='article'><div class='alone'>" );
  document.writeln( "<h1>Résultats de la recherche</h1>" );

  for( var i=0; i<data.length ; i++ )
  {
   if(( data[i].titre.toUpperCase().indexOf( chaine ) != -1 )
   || ( data[i].keyword.toUpperCase().indexOf( chaine ) != -1 )
   || ( data[i].url.toUpperCase().indexOf( chaine ) != -1 ))
   {
    data[i].afficher();
    trouved ++;
   }
  }

  if( !trouved )
  {
   document.writeln( "<p style='color: red; font-weight: bold;'>Aucune réponse n'a été trouvée pour ce mot clé dans les pages informatiques de ce site.</p>");
  }

  document.writeln( "<p style='color: blue; font-weight: bold;'>"+trouved+" réponse(s) trouvée(s) pour le mot-clé "+chaine);
  document.writeln( "</p><hr><form><input type='button' value='Nouvelle recherche ?' OnClick='window.location=\"moteurRecherche.html\"'></form></div>" );
  document.writeln( "</body></html>" );
  document.close();
 }

//-->
 </script>
</head>

<body>


<center><h2>Moteur de recherche assistance SSPG </h2></center>

<div align="center" style="text-align: center; margin: 15px; padding: 15px; font-family: monospace; font-size: 14pt; font-weight: bold;">
écrit en JavaScript.
</div>

<p>
Il s'agit d'un moteur minimal : tapez <B>un seul</B> mot-clé. Les accents sont autorisés ; les symboles
(? = + ; - , * $ ! #) ne le sont pas. Si vous ne tapez rien, toutes les pages de ce site seront listées.
</p>


<form name="rech" OnSubmit="rechercher( document.rech.champ.value );">
<input type="text" name="champ"    size="70"><BR>
<input type="submit" name="valide" value="Rechercher">
</form>

<noscript><p>
Votre navigateur ne reconnaît pas le JavaScript, le script de recherche ne pourra pas marcher.
</p></noscript>

</div>


<!-- Début Script Weborama -->
<div align="right">
<script language="javascript">
<!--// page recherche

WEBO_ZONE=200;
WEBO_PAGE=2;
webogold_ok=0;

//-->
</script>
<script language="javascript" src="http://script.weborama.fr/gold.js"></script>
<script>
<!--//

if( webogold_ok == 1 )
{
 webogold_zpi( WEBO_ZONE, WEBO_PAGE, 10194 );
}

//-->
</script>
</div>
<!-- Fin Script Weborama -->
</body>
</html>


Merci

6 réponses

Messages postés
1784
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
28 avril 2021
128
bonjour

comme ceci

<script src="chemin_du_fichier.js"></script>


mais il faudra tout de meme mettre le code dans une fonction afin d'executer le code par l'appel a la fonction

rien ne sert de courir il faut partir a point.
cours Forest cours !
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020

Bonjour karamel,

j 'ai refais le fichier js avec la fonction , et je l 'ai appelé en début balise head
<script type = 'text/javascript' src="/home/ecrivain77/Documents/SSPG_DOC/SSPG/data.js">

Mais pas réponse lors de l'appel du fichier dans la fonction

function rechercher( chaine )
{

var trouved = 0;

chaine = chaine.toUpperCase();
var data = new Array();
store( data );


store( data) est vide

Merci pour ton aide
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020

Bonjour,

Je pense que je me suis mal expliqué

je voudrais déplacer toute la function store(data), dans un fichier externe en .js, et le rappeler au début de la function rechercher( chaine )
car la commande store(data) dans la function rechercher fait appel à la function store(data) qui contient des données renseignées manuellement

merci
Messages postés
1784
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
28 avril 2021
128
a ce moment la autant laisser la fonction tel quel il faut juste la mettre dans un fichier js, le fichier contiendra uniquement la fonction et c'est tout .

Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020

Bonjour,

Tout à fait d accord.
Mais comment inclure le fichier dans la
function recherche()

Le code include("chemin/nomdefichier.js") ne retourne rien
Y compris le <script> car la balise est déjà ouverte plus haut dans le code général.

Merci
Messages postés
1784
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
28 avril 2021
128
rien ne t'empeche de mettre plusieurs balises script dans la page dans ton cas je la mettrait dans le header de la page

<signature>rien ne sert de courir il faut partir a point.
cours Forest cours !

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
    <title>Support SSPG</title>
     <link href="code.css" type="text/css" rel="stylesheet" />

    <script src="chemin/nomdefichier.js"></script>
.....etc
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020

Bonjour,

Incroyable mais vrai maintenant cela fonctionne.
J'ai tout refais le code, je pense que j'avais un bug dans le code depuis le début.
Merci pour ta patience.