SetTime out

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

  1. setTimeout te permet d'exécuter une fonction dans x millisecondes.
    Pour exécuter une fonction toutes les x millisecondes, c'est setInterval
    1. 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 ;-)
    2. 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...
    3. Tu peux nous montrer ton code?
    4. 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
    5. Met le setInterval à la fin de ton code à la place de mafonction();