SetTime out

none61 Messages postés 90 Statut Membre -  
none61 Messages postés 90 Statut Membre -
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. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
     
    setTimeout te permet d'exécuter une fonction dans x millisecondes.
    Pour exécuter une fonction toutes les x millisecondes, c'est setInterval
    0
    1. none61 Messages postés 90 Statut Membre
       
      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
    2. none61 Messages postés 90 Statut Membre
       
      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
    3. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
       
      Tu peux nous montrer ton code?
      0
    4. none61 Messages postés 90 Statut Membre
       
      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
    5. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
       
      Met le setInterval à la fin de ton code à la place de mafonction();
      0