Rechercher : dans
Par :

Appeller un fichier .js

Dernière réponse le 31 oct 2005 à 00:18:16 cyril, le 30 oct 2005 à 23:12:46 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « appeller un fichier .js » dans :
[Windows] Fichier pagefile.sys VoirPagefile.sys est un fichier créé par Windows afin de pallier les manques de mémoire vive, on l'appelle ainsi "fichier d'échange" ou "fichier swap" (en anglais "swap file"). Cette technique permettant d'étendre la mémoire vive du système est appelée...
Javascript - Implantation du code VoirA quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...

1

someone, le 30 oct 2005 à 23:24:03

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();
} 

Répondre à someone

2

someone, le 30 oct 2005 à 23:27:16

PS: J'ai pas apporter grand chose mais tu n'a pas dit qu'elle typed'erreur que tu rencontre!!

Répondre à someone

3

cyril, le 30 oct 2005 à 23:34:18

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

Répondre à cyril

4

cyril, le 30 oct 2005 à 23:35:14

Pour le type d'erreur,bah en fait ca ignore mon script et ca n'affiche rien,ca prend pas en compte

Répondre à cyril

5

Cyril, le 30 oct 2005 à 23:46:59

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...???

Répondre à Cyril

6

someone, le 30 oct 2005 à 23:47:21

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à!!

Répondre à someone

7

Cyril, le 30 oct 2005 à 23:48:36

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....

Répondre à Cyril

8

cyril, le 30 oct 2005 à 23:54:06

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....

Répondre à cyril

9

someone, le 31 oct 2005 à 00:00:07

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!!

Répondre à someone

10

cyril, le 31 oct 2005 à 00:02:27

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...

Répondre à cyril

11

someone, le 31 oct 2005 à 00:07:44

Tu peux reprendre, expliquer mieux, j'ai rien compris!!

Répondre à someone

12

 cyril, le 31 oct 2005 à 00:18:16

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

Répondre à cyril