[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 -
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()