SetTime out

Fermé
none61 Messages postés 83 Date d'inscription mercredi 23 avril 2014 Statut Membre Dernière intervention 14 avril 2020 - 28 oct. 2016 à 09:34
none61 Messages postés 83 Date d'inscription mercredi 23 avril 2014 Statut Membre Dernière intervention 14 avril 2020 - 28 oct. 2016 à 14:21
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 samedi 29 août 2015 Statut Membre Dernière intervention 13 novembre 2018 429
28 oct. 2016 à 09:43
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 mercredi 23 avril 2014 Statut Membre Dernière intervention 14 avril 2020
28 oct. 2016 à 10:18
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 mercredi 23 avril 2014 Statut Membre Dernière intervention 14 avril 2020
28 oct. 2016 à 10:59
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 samedi 29 août 2015 Statut Membre Dernière intervention 13 novembre 2018 429
28 oct. 2016 à 11:09
Tu peux nous montrer ton code?
0
none61 Messages postés 83 Date d'inscription mercredi 23 avril 2014 Statut Membre Dernière intervention 14 avril 2020
28 oct. 2016 à 12:56
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 samedi 29 août 2015 Statut Membre Dernière intervention 13 novembre 2018 429
28 oct. 2016 à 13:08
Met le setInterval à la fin de ton code à la place de mafonction();
0