IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Affichage des données au fur et à mesure d'un script


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut Affichage des données au fur et à mesure d'un script
    Bonjour,
    Je développe différents outils d'admin internes à ma boite dans des pages HTA. Pour y arriver, j'utilise exclusivement TML, Javascript et VBScript.

    Sur une pages ou un javascript balaye l'AD et devrait afficher différentes infos au fur et à mesure qu'il avance, en fait je me retrouve avec toutes les infos à la fin, une fois que le script à fini de s'exécuter.

    J'ai essayé différents réceptacles (div, iframe, ...) et différentes manières (innerhtml, document.write, ...) mais je n'y arrive pas.

    Est-ce que je souhaite obtenir est possible et si oui, quel est le moyen, sachant que je n'ai pas de serveur sur lequel m'appuyer, juste du HTML, Javascript et Vbscript ?

    D'avance merci

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut C'est d'la triche! J'le dirai à maman! :'(
    Bonjour,

    En trichant ?
    Je pense à setInterval(maFonction,millisecondes);. Mais ça implique une modification de votre fonction ou bien de votre affichage. Soit vous cherchez les données une par une. Soit vous les affichez une par une. Mais peut-être que tout ça est déjà réalisable dans votre code. Pourrions-nous en voir une partie ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Je pensais bien aussi à tricher, malheureusement mes compétences son plus que limités.
    Comme j'ai fait plusieurs tentatives, voici mon dernier code testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function UpdateLog(message) 
    {    document.getElementById("if_log" ).innerHTML += message + "<br>"; ;
    }
    Voici comment est défini mon cadre dans lequel écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <DIV style="LEFT: 0px; WIDTH: 140px; HEIGHT: 95%; POSITION: absolute; BACKGROUND-COLOR: rgb(247,243,234)" align=center>
    	<P><A href=""><IMG height=45 alt="CFM" src="images/logo.jpg" width=118 vspace=10 border=0></A></P>
    	<P>Trace des opérations effectuées<BR></P>
    	<div id="if_log" name="if_log"></div>
     
    </DIV>
    Ensuite, j'appelle la function UpdateLog pour écrire ce qui m'intéresse dans mon cadre, dans les différentes functions Javascript que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UpdateLog ("Inventaire de " + Machine)

    Voilà !

    Toutes les idées/techniques sont les bienvenues ?
    Existe t'il une fonction pour forcer un refresh d'un div ?

    Merci

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Est-ce possible que ça va tellement vite que vous avez l'impression que tout s'affiche à la fin alors qu'en fait, tout s'affiche en son temps ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Je ne pense pas.
    J'ai fait mes tests avec un script qui va lire mon AD pour l'importer dans une base afin de resortir une liste des nouveaux objets.
    Il dure une dizaine de secondes et tout s'affiche à la fin du script et non au fur et à mesure, comme je le souhaiterais

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function MajTout() {
      Maj1();
      Maj2();
      Maj3();
    }
    Effectivement l'affichage ne devrait être mise à jour qu'à la sortie de MajTout().

    Plutôt que le setInterval(), tu peux enchaîner les setTimeout()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function Maj1() {
      // Trt Maj1
      setTimeout(Maj2, 100);
    }
    function Maj2() {
      // Trt Maj2
      setTimeout(Maj3, 100);
    }
    function Maj3() {
      // Trt Maj3
    }
    En appelant le tout via Ainsi le script "rend la main" à la fin de chaque fonction et l'affichage devrait être mis à jour à chaque étape ...

    A+

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Merci à tous les 2.
    En fait, j'ai fait 3 tests.

    1) j'ai modifié ma function UpdateLog en y ajoutant un appel à une fonction vide avec setTimeout ... marche pô

    2) j'ai fait exactement ce que préconisait E.Bzz en découpant mes fonctions existantes pour qu'elles s'enchainent, la syntaxe exacte étant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setTimeout ("LanceScanAD ()", 1000);
    et comme ça ... ça à l'air de fonctionner.

    3) Au lieu de s'enchainer les unes aux autres, j'ai appellé toutes mes fonctions nouvellement découpées dans une seule et même fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
         UpdateLog ("Lecture des données AD");
         setTimeout ("LanceScanAD ()", 1000);
         setTimeout ("Menu_MAJAD1 ()", 1000);
         setTimeout ("Menu_MAJAD2 ()", 1000);
         setTimeout ("Menu_MAJAD3 ()", 1000);
    et ça, ça ne marche pas, du moins comme je le souhaite !
    Je vais donc creuser l'option 2 et voir comment découper toutes mes fonctions en sous fonctions pour qu'elles s'enchainent et puisse ecrire en même temps dans mon trace.

    Merci à tous les 2

    M.

  8. #8
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    setTimeOut ne bloque pas le script. Il lance le timer et passe à l'instruction suivante, c'est-à-dire lancer un second timer.
    Donc tout vos timer vont arriver à terme presqu'en même temps.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/10/2009, 22h31
  2. [Tableaux] Affichage des données par lot
    Par randriarabe dans le forum Langage
    Réponses: 1
    Dernier message: 07/12/2005, 08h23
  3. pb d'affichage des données
    Par new_wave dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 03/11/2005, 17h31
  4. TDBCtrlGrid - Affichage des données
    Par audreyb dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/10/2004, 13h10
  5. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo