Appeller un fichier .js

Fermé
cyril - 30 oct. 2005 à 23:12
 koreany - 12 févr. 2013 à 18:02
Bonjour, j'ai trouvé sur un site internet un script permettant d'afficher l'heure. Voici le code contenu dans <head>

<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
var msg="MESSAGE";
var index=0;
var delay=250
function defil() {
// Fonction récursive pour le décalage du texte du message
var nb_char=msg.length;
index++;
if (index>nb_char) index=0;
window.status=msg.substring(index)+msg;
setTimeout("defil()",delay);
}
function defiler(txt,tps) {
//Cette fonction est appelée pour déclencher le défilement.
msg=txt + " - " + txt + " - " ;
delay=tps;
defil();
}
</SCRIPT>

et ici mon appel de fonction dans <body> :

<script language="javascript" type="text/javascript">dT();</script>


Donc cela marche trés bien quand le script est incorporé dans le HTML, mais j'aimerais faire un script externe .js et faire un appel a ce "sous programme", donc dans mon <head>, je definis ce fichier .js par:

<script src="script/heure.js" type="text/javascript"></script>

et ensuite j'appelle la fonction dT de heure par :

<script language="javascript" type="text/javascript">dt();</script>

mais cela ne marche pas, j'ai essayé plusieurs combinaisons possibles, par exemple en mettant un nom de fonction qui englobe toutes les autres fonctions de mon script mais sans succés. Avez vous une idée??

Comme ce script, je l'utiliserais pour toutes les pages de mon site, j'aimerais éviter de le taper sur chacune des pages...

Merci de vos réponses.
A voir également:

10 réponses

Bon j'ai jeter un oeil à ton truc et voilà la soluce:

1- Fichier heure.js

function tS(){
x=new Date();
x.setTime(x.getTime());
return x;
}
function lZ(x){
return (x>9)?x:'0'+x;
}
function dT(){
if(fr==0){
fr=1;
document.write(" " + '<span id="tP">'+eval(oT)+'</span>');
}
document.getElementById("tP").innerHTML = eval(oT);
setTimeout('dT()',1000);
}
var fr=0;
oT=" 'Il est '+tS().getHours()+':'+lZ(tS().getMinutes())+':'+lZ(tS().getSeconds())"; 



2- Fichier Acceuil
dans <head>
<script src="heure.js" type="text/javascript" LANGUAGE="JavaScript"></script>



3- Fichier Acceuil
dans <body>

<script language="javascript" type="text/javascript">dT();</script> 


Voilà!!
6
Merci someone!!!! J'avais un problème un peu identique, ça m'a bien aidé.
1
Slt,

- Vérifie que tu as bien mis le fichier dans le répertoire "script"

- Dans <head> il faut: <script src="script/heure.js" type="text/javascript" LANGUAGE="JavaScript"></script>

-Ton fichier JS doit être comme suit:
 var msg="MESSAGE";
var index=0;
var delay=250
function defil() {
// Fonction récursive pour le décalage du texte du message
var nb_char=msg.length;
index++;
if (index>nb_char) index=0;
window.status=msg.substring(index)+msg;
setTimeout("defil()",delay);
}
function defiler(txt,tps) {
//Cette fonction est appelée pour déclencher le défilement.
msg=txt + " - " + txt + " - " ;
delay=tps;
defil();
} 
0
PS: J'ai pas apporter grand chose mais tu n'a pas dit qu'elle typed'erreur que tu rencontre!!
0
ca change pas grand chose mais j'ai posté le mauvais script,en fait c celui ci:

function tS(){
x=new Date();
x.setTime(x.getTime());
return x;
}
function lZ(x){
return (x>9)?x:'0'+x;
}
function dT(){
if(fr==0){
fr=1;
document.write(" " + '<span id="tP">'+eval(oT)+'</span>');
}
document.getElementById("tP").innerHTML = eval(oT);
setTimeout('dT()',1000);
}
var fr=0;
oT=" 'Il est '+tS().getHours()+':'+lZ(tS().getMinutes())+':'+lZ(tS().getSeconds())";

Sinon bah ma procédure est bien faite comme tu dis, c'est a dire que je mets bien mon script tel quel dans le heure.js.
Dans mon head,j'ai rajouté le languague="javascript" que j'avais pas mis mais ca ne change rien.
En fait je pense que ce qui fout la merde, le faire que j'appelle une fonction bien précise dans mon fichier heure.js
Avez vous d'autre idées?merci bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pour le type d'erreur,bah en fait ca ignore mon script et ca n'affiche rien,ca prend pas en compte
0
Quand depuis mon html j'appelle la fonction dT de mon fichier heure.js ,il n'a pas l'air de la trouver. Est t'il possible,et comment que que j'apelle par exemple une fonction XXX dans mon fichier heure.js qui elle meme appelerait ma fonction dT.par exemple puis je faire dans mon HTML :

<script language="javascript" type="text/javascript">XXX();</script>

et dans mon heure.js mettre

function XXX { faire la fonction dT
function 1
function 2
function dT

}

et ou "faire la fonction dT serait une ligne de commande qui enverait justement a cette fonction dT...???
0
Punaise, quand je me relis, je me demandes si on peut comprendre mes questions et mes problemes, je suis pas sur d'avoir été trés clair et explicite....
0
j'avais deja essayé comme tu disais, j'ai bien verifié si j'ai pas fait d'erreur de chemin ou de frappe, mais j'ai fait exatement comme tu dis, et cela ne marche pas,je comprends pas pourquoi....
0
Bon ben si ta copier/coller comme j'ai fait et que ça fonctione pas c'est que javascript n'est activer chez toi donc tu l'active!!

J'ai testé ton truc avec IE et FF ça fonctionne très bien!!
0
Je ne pense pas que ce soit une desactivation du javascript, car qd je mets mon script dans mon HTML, ca marche trés bien donc mon javascript est bien actif, c'est quand je mets mon script en externe que ca fout la merde...
0
someone > cyril
31 oct. 2005 à 00:07
Tu peux reprendre, expliquer mieux, j'ai rien compris!!
0
Bon en fait c bon j'ai réussit a faire tourner mon script en externe et en interne. J'ai fait comme tu as dit. Mais avant ca marchait pas car j'avais dut faire une erreur de frappe qqpart dans le script. J'ai refait un copier coller du script dans mon fichier externe et depuis ca roule!
Merci bien someone de ton aide...Surtout que j'ai pas forcement été clair... lol
0