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 :

Programme long !


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut Programme long !
    Bonjour

    J'ai un bout de code long à exécuter. Chaque fois, j'ai le droit au warning m'indiquant qu'il est possible que le code soit bloqué !
    Je dis de continuer et c'est bon. Comment faire pour palier à ce problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    msg_s8=window.open("URL","S8")
    while(document.getElementById("drapeau").innerHTML=="Charge")
     setTimeout("i++",2000);
    suite du programme qui récupèrela donnée document.getElementById("drapeau").innerHTML=="Charge"
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    il manque un peu certaine donnée je pense

  3. #3
    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,
    au lieu d'un setTimeout() dans un while, utilise plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setInterval("i++",2000);
    Le résultat est le même

    EDIT : Arf : le résultat est le même, mais tu perds ton test.
    Au lieu du simple i++, fais une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function ta_fonction() {
    if (document.getElementById("drapeau").innerHTML=="Charge")
    i++;
    else
    clearInterval(le_timer);
    }
    Tu pourras l'appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var le_timer = setInterval("ta_fonction()", 2000);
    EDIT BIS : pour un résultat strictement identique, c'est en fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function ta_fonction() {
    i++;
    if (document.getElementById("drapeau").innerHTML != "Charge")
    clearInterval(le_timer);
    }
    A+

  4. #4
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    Pour en dire plus :
    1) Je teste si une page a fini de se télécharger. Quand elle a fini, elle modifie l'attribut document.getElementById("drapeau").innerHTML de la page appelante. Comme la page est longue à charger (beaucoup d'appel MySQL en php), l'attente est longue.
    2) Je ne peux pas utiliser de fonctions Enfin, il me semble, je teste greasemonkey que j'ai trouvé dimanche.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  5. #5
    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
    Citation Envoyé par troumad Voir le message
    2) Je ne peux pas utiliser de fonctions


    Ca serait quand même étonnant ...

    Si c'est le cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    le_timer = setInterval("if document.getElementById('drapeau').innerHTML=='Charge') i++; else clearInterval(le_timer);", 2000);
    A+

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    et sur un onload ??

  7. #7
    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
    Citation Envoyé par le_chomeur Voir le message
    et sur un onload ??
    J'ai loupé quelque chose ?
    Ca changerait quoi ?

    A+

  8. #8
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    E.Bzzz

    Citation Envoyé par troumad Voir le message
    1) Je teste si une page a fini de se télécharger. Quand elle a fini, elle modifie l'attribut document.getElementById("drapeau").innerHTML de la page appelante. Comme la page est longue à charger (beaucoup d'appel MySQL en php), l'attente est longue.

    ou c'est pt moi mais s'il cherche a tester le chargement d'une page ....

  9. #9
    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
    Citation Envoyé par le_chomeur Voir le message
    ou c'est pt moi mais s'il cherche a tester le chargement d'une page ....
    Avec un "drapeau" modifié via son innerHTML, je pencherais plutôt pour un (voire "des", visiblement) chargement(s) Ajax

    A+

  10. #10
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    +1 pour les méthodes de load ajax

Discussions similaires

  1. arret des programmes long, avant la fermeture de vista
    Par ledisciple dans le forum Windows Vista
    Réponses: 8
    Dernier message: 21/09/2011, 09h09
  2. Programme java long à démarrer parfois
    Par smith_dev dans le forum Langage
    Réponses: 15
    Dernier message: 09/01/2009, 16h13
  3. [Web Service] Programme avec un long temps d'éxécution
    Par whism dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 02/06/2008, 20h30
  4. Programme de recherche temps d'execution trop long
    Par lucas67 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/11/2007, 15h15
  5. Demarage des programmes très long
    Par venegan dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 02/03/2006, 16h50

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