SetTime out

none61 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -  
none61 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous,

- Comme ennocé dans le titre, j'utilise la fonction setTimeout dans un de mes script afin qu'il se lance toutes les 5 secondes.


- Le but de se script est de parser un fichier et en conséquence modifie un ID sur ma page html.

- Ceci fonctionne bien sauf a partir d'un certain moment..
- A partir de quelques minutes, je suis obligé de rafraichir ma page pour que l'ensemble refonctionne...

Avez-vous déjà eux ce genre de problème?

Merci a vous

1 réponse

Konseil Messages postés 643 Date d'inscription   Statut Membre Dernière intervention   430
 
setTimeout te permet d'exécuter une fonction dans x millisecondes.
Pour exécuter une fonction toutes les x millisecondes, c'est setInterval
0
none61 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse si rapide ;-)

J'ai donc modifié setTimout par setInterval...Pour l'instant cela fonctionne, je vais voir si dans le tempo ça fonctionne toujours...je l'espère ;-)
0
none61 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Alors après plusieurs test:

Je constate toujours un problème de comportement a savoir:

fonctionnement ok, puis au bout de quelques minutes, le rafraichissement ne s'effectue qu'au bout d'une trentaines de secondes...Comme si le navigateur se mettait en veille...
0
Konseil Messages postés 643 Date d'inscription   Statut Membre Dernière intervention   430
 
Tu peux nous montrer ton code?
0
none61 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
oui alors concernant le javascript pour la partie "parsing"c'est :


function mafonction() {
//parse
xhr.onreadystatechange = function(){

if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {

var a = xhr.responseXML.getElementsByTagName("valeur"),
i = 0,
l = a.length,
value;

for (; i<l; i++){

//retourne la valeur lus aux variables
value1 = (a[i].getElementsByTagName("nasv1")[0].childNodes[0].nodeValue);
value2 = (a[i].getElementsByTagName("nasv2")[0].childNodes[0].nodeValue);
value3 = (a[i].getElementsByTagName("nascpu")[0].childNodes[0].nodeValue);
value4 = (a[i].getElementsByTagName("picpu")[0].childNodes[0].nodeValue);
value5 = (a[i].getElementsByTagName("mvall")[0].childNodes[0].nodeValue);
value6 = (a[i].getElementsByTagName("mvone")[0].childNodes[0].nodeValue);
barnasv1.animate(value1); // Number from 0.0 to 1.0

}

setInterval(mafonction, 5000);

}

}

xhr.open("GET", "http://monIP/fichier.xml", true);
xhr.send();

}

var xhr = new XMLHttpRequest();

//sert a appeler ma fonction lors de l'ouverture de la page
mafonction();


Faut il que je mette la partie du code concernant les progressbar?

Merci a toi
0
Konseil Messages postés 643 Date d'inscription   Statut Membre Dernière intervention   430
 
Met le setInterval à la fin de ton code à la place de mafonction();
0