[Javascript] Importer un fichier js
Résolu
electroking
Messages postés
236
Date d'inscription
Statut
Membre
Dernière intervention
-
electroking Messages postés 236 Date d'inscription Statut Membre Dernière intervention -
electroking Messages postés 236 Date d'inscription Statut Membre Dernière intervention -
Salut,
je souhaiterais, à partir d'une liste du type:
pouvoir importer ou relier a la page html le fichier
pour exécuter la fonction
qui se trouve à l'intérieur depuis ma page HTML (qui est déjà chargée).
J'ai essayé de placer une balise
sauf que comme je la place APRES le chargement de la page et l'exécution du début du script, il ne la reconnait pas.
Comment pourrais-je m'y prendre ?
Cordialement,
Faure Lucas.
je souhaiterais, à partir d'une liste du type:
liste = [
'fonction1',
'fonction2'
];
pouvoir importer ou relier a la page html le fichier
fichierUrl = liste[i] + '.js';
pour exécuter la fonction
nomFonction = liste[i] + 'Main()';
qui se trouve à l'intérieur depuis ma page HTML (qui est déjà chargée).
J'ai essayé de placer une balise
<script src="fichierUrl "></script>
sauf que comme je la place APRES le chargement de la page et l'exécution du début du script, il ne la reconnait pas.
Uncaught ReferenceError: historyMain is not defined
(anonymous function)
Comment pourrais-je m'y prendre ?
Cordialement,
Faure Lucas.
A voir également:
- [Javascript] Importer un fichier js
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Bonsoir.
Tu as l'air de confondre fonction et fichier js.
donc que représente pour toi fonction1.js ?
Tu as l'air de confondre fonction et fichier js.
donc que représente pour toi fonction1.js ?
Bonjour
Il y a bien le problème d'attendre que le script soit chargé avant d'appeler la fonction qu'il contient, mais il y en a un autre que tu ne sembles pas avoir vu.
Dans
Pour obtenir l'effet que tu désires, il faudrait qu'en javascript tu viennes affecter ta variable fichierUrl à l'attribut src d'une balise <script>.
Ça peut être fait en manipulant le DOM ou avec un document.write, par exemple.
Ensuite, il faut que tu appelles ta fonction dans le "onload" de cette même balise.
Ça a l'air un peu laborieux, mais pas infaisable. Je regarde ce que ça peut donner et je reviens.
Il y a bien le problème d'attendre que le script soit chargé avant d'appeler la fonction qu'il contient, mais il y en a un autre que tu ne sembles pas avoir vu.
Dans
<script src="fichierUrl "></script>, fichierUrl est bel et bien une l'URL "fichierUrl ", pas la variable javascript fichierUrl que tu as défini ailleurs. C'est la valeur d'un attribut(src) d'une balise HTML. Les variables javascript n'existent que dans le code javascript, et une balise HTML, même la balise <script>, n'est pas du code javascript.
Pour obtenir l'effet que tu désires, il faudrait qu'en javascript tu viennes affecter ta variable fichierUrl à l'attribut src d'une balise <script>.
Ça peut être fait en manipulant le DOM ou avec un document.write, par exemple.
Ensuite, il faut que tu appelles ta fonction dans le "onload" de cette même balise.
Ça a l'air un peu laborieux, mais pas infaisable. Je regarde ce que ça peut donner et je reviens.
<body> <div>div1 pour voir</div> <script type= "text/javascript"> var liste = [ 'fonction1', 'fonction2' ]; var i=0; var lt=String.fromCharCode(60); fichierUrl = liste[i] + '.js'; nomFonction = liste[i] + 'Main()'; document.write('<script src=' + fichierUrl +' onload="' + nomFonction + ';">'+lt+'/script>'); </script> <div>div2 pour voir</div> </body>
Ça lance bien, selon que i vaut 0 ou 1, la fonction fonction1Main de fonction1.js, ou la fonction fonction2Main de fonction2.js
Pas très propre, mais ça marche.
Merciiiiiiiiii je t'aime toi
en fait contrairement a ce que ce qui ont lus ce message ont du penser j'ai bien compris les système de fichiers et de fonctions ^^ je voulais obtenir ce résultat là en fait :
Je me suis seulement très mal exprimé :/
en fait contrairement a ce que ce qui ont lus ce message ont du penser j'ai bien compris les système de fichiers et de fonctions ^^ je voulais obtenir ce résultat là en fait :
<body> <div id="links"></div> <script type= "text/javascript"> var liste = [ 'fonction1', 'fonction2' ]; var i=0; for (i; i<liste.length; i++) { var lt=String.fromCharCode(60); fichierUrl = liste[i] + '.js'; nomFonction = liste[i] + 'Main()'; document.write('<script src=' + fichierUrl +'>'+lt+'/script>'); document.getElementById('links').innerHTML = document.getElementById('links').innerHTML + '<br /><a href="javascript: ' + nomFonction + ';" rel="nofollow noopener noreferrer" target="_blank">' + nomFonction + '</a>'; } </script> </body>
Je me suis seulement très mal exprimé :/
fonction1.js est un fichier contenant la fonction fonction1Main()