Inclure un fichier dans une fonction [Résolu]

Messages postés
5
Date d'inscription
dimanche 30 avril 2017
Dernière intervention
30 avril 2017
-
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
Afficher la suite 

Votre réponse

6 réponses

Messages postés
1663
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
3 novembre 2018
0
Merci
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 !
Commenter la réponse de @karamel
Messages postés
5
Date d'inscription
dimanche 30 avril 2017
Dernière intervention
30 avril 2017
0
Merci
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
Commenter la réponse de serenodo
Messages postés
5
Date d'inscription
dimanche 30 avril 2017
Dernière intervention
30 avril 2017
0
Merci
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
Commenter la réponse de serenodo
Messages postés
1663
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
3 novembre 2018
0
Merci
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 .

Commenter la réponse de @karamel
Messages postés
5
Date d'inscription
dimanche 30 avril 2017
Dernière intervention
30 avril 2017
0
Merci
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
Commenter la réponse de serenodo
Messages postés
1663
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
3 novembre 2018
0
Merci
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
serenodo
Messages postés
5
Date d'inscription
dimanche 30 avril 2017
Dernière intervention
30 avril 2017
-
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.
Commenter la réponse de @karamel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.