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 :

Mes compteurs JavaScript sont mélangés


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Mes compteurs JavaScript sont mélangés
    Bonjour je vous écris ici car j'ai codé divers compteurs en javascript généré chaque seconde mais voila mes compteurs sur mon site sont mélangés à chaque fois et je ne vois pas pourquoi, je cherche à ce que mes compteurs ne se mélange plus comme ça (tout en laissant les compteurs chargé chaque seconde) pouvez-vous m'aider SVP? merci par avance.

    Voici un exemple de mes codes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    <script language="JavaScript">
    function file(fichier)
    {
    if(window.XMLHttpRequest) // FIREFOX
    xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
    return(false);
    xhr_object.open("GET", fichier, false);
    xhr_object.send(null);
    if(xhr_object.readyState == 4) return(xhr_object.responseText);
    else return(false);
    }
     
    function fonction1()
    {
    result1 = file('compteur1.php');
    document.getElementById('affich_result1').innerHTML = result1;
    setTimeout("fonction1()", 1000)
    }
     
    function fonction2()
    {
    result2 = file('compteur2.php');
    document.getElementById('affich_result2').innerHTML = result2;
    setTimeout("fonction2()", 1000)
    }
     
    function fonction3()
    {
    result3 = file('compteur3.php');
    document.getElementById('affich_result3').innerHTML = result3;
    setTimeout("fonction3()", 1000)
    }
     
    function chargement()
    {
    fonction1();
    fonction2();
    fonction3();
    }
     
    window.onload = chargement;
    </script>

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var timer1=setTimeout("fonction1()", 1000)
    var timer2=setTimeout("fonction2()", 1000)
    sinon tu pourrais utiliser setInterval

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai ajouté à mes fonctions "var timer*=" à mes "setTimeout" mais mes compteurs sont toujours en train de se mélanger...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    result1 =new file('compteur1.php');
    result2 =new file('compteur2.php');
    result3 =new file('compteur3.php');

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    Faire 3 requêtes ajax avec les mêmes pages chaque seconde, ça peux mélanger ton compteur. Essaye de mettre un peu plus de temps.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    non avec new ça devrait le faire

    sinon il faudra en faire une seule avec les 3 et recupérer les 3 reponses

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    La les compteurs n'affiche plus rien, bon je vous passe mon code réel
    (puis-je diffuser l'adresse de mon site pour que vous puissiez voir svp ?)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
     
    <SCRIPT LANGUAGE="JavaScript">
    // FONCTION POUR LES POPUPS
    function OuvrirPopup(page,nom,option)
        {
           window.open(page,nom,option);
        }
     
    function file(fichier)
    {
    if(window.XMLHttpRequest) // FIREFOX
    xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
    return(false);
    xhr_object.open("GET", fichier, false);
    xhr_object.send(null);
    if(xhr_object.readyState == 4) return(xhr_object.responseText);
    else return(false);
    }
     
    // FONCTION POUR DATE ET HEURE
    function HeureCheckEJS()
    	{
    	krucial = new Date;
    	heure = krucial.getHours();
    	min = krucial.getMinutes();
    	sec = krucial.getSeconds();
    	jour = krucial.getDate();
    	mois = krucial.getMonth()+1;
    	annee = krucial.getFullYear();
    	if (sec < 10)
    		sec0 = "0";
    	else
    		sec0 = "";
    	if (min < 10)
    		min0 = "0";
    	else
    		min0 = "";
    	if (heure < 10)
    		heure0 = "0";
    	else
    		heure0 = "";
    	if (jour < 10)
    		jour0 = "0";
        else
            jour0 = "";	
    	if (mois < 10)
    		mois0 = "0";
        else
            mois0 = "";	
    	DinaHeure = jour0 + jour + " / " + mois0 + mois + " / " + annee + " " + heure0 + heure + ":" + min0 + min + ":" + sec0 + sec;
    	which = DinaHeure
    	if (document.getElementById){
    		document.getElementById("ejs_heure").innerHTML=which;
    	}
    	var timer1=setTimeout("HeureCheckEJS()", 1000)
    }
     
    //FONCTIONS  VISITEURS
    function check_visiteur()
    {
    nbr_visiteurs =new file('s_nbr_visiteur.php');
    if (nbr_visiteurs < 10) zero1 = "0";
    else zero1 = "";
    nbr_v = zero1 + nbr_visiteurs;
    document.getElementById('nobr_visiteur').innerHTML = nbr_v;
    var timer2=setTimeout("check_visiteur()", 1000)
    }
     
    function suppr_visiteur()
    {
    file('s_suppr_nbr_visiteur.php');
    var timer3=setTimeout("suppr_visiteur()", 1000)
    }
     
    // FONCTION POUR LE NOMBRE DE CONNECTÉ AU TCHAT
    function nbre_nick_ligne()
    {
    nbr_nick_en_ligne =new file('s_nbr_en_ligne.php');
    if (nbr_nick_en_ligne < 10) zero2 = "0";
    else zero2 = "";
    if(nbr_nick_en_ligne < 2) txt_nbr_nick_en_ligne = zero2+nbr_nick_en_ligne+" personne";
    else if(nbr_nick_en_ligne > 1) txt_nbr_nick_en_ligne = zero2+nbr_nick_en_ligne+" personnes";
    document.getElementById('pseudo_online').innerHTML = txt_nbr_nick_en_ligne;
    var timer4=setTimeout("nbre_nick_ligne()", 1000)
    }
     
    // FONCTION POUR LE NOMBRE D'INSCRIPTION
    function nbre_total_inscrit()
    {
    nbr_total_inscrit =new file('s_nbr_total_profil.php');
    if (nbr_total_inscrit < 10) zero3 = "0";
    else zero3 = "";
    if(nbr_total_inscrit < 2) txt_nbr_total_inscrit = zero3+nbr_total_inscrit+" inscrit";
    else if(nbr_total_inscrit > 1) txt_nbr_total_inscrit = zero3+nbr_total_inscrit+" inscrits";
    document.getElementById('total_inscrit').innerHTML = txt_nbr_total_inscrit;
    var timer5=setTimeout("nbre_total_inscrit()", 1000)
    }
     
    // FONCTION POUR RECUPERER LA LISTE DES ONLINE
    function list_pseudo_online()
    {
    nbr_pseudos_online =new file('s_pseudo_online.php');
    if(nbr_pseudos_online == 0) txt_nbr_pseudos_online = "-[ AUCUNE PERSONNE ]-";
    else txt_nbr_pseudos_online = nbr_pseudos_online;
    document.getElementById('pseudo_en_ligne').innerHTML = txt_nbr_pseudos_online;
    var timer6=setTimeout("list_pseudo_online()", 1000)
    }
     
    //FONCTION POUR LISTE ADMINS
    function liste_admins()
    {
    list_adm =new file('s_list_admin.php');
    document.getElementById('administrateur_liste').innerHTML = list_adm;
    var timer7=setTimeout("liste_admins()", 1000)
    }
     
    // FONCTION POUR LISTE DES MODOS
    function liste_modos()
    {
    list_modo =new file('s_list_modo.php');
    document.getElementById('moderateur_liste').innerHTML = list_modo;
    var timer8=setTimeout("liste_modos()", 1000)
    }	
     
    function chargement()
    {
    check_visiteur();
    suppr_visiteur();
    HeureCheckEJS();
    nbre_nick_ligne();
    nbre_total_inscrit();
    list_pseudo_online();
    liste_admins();
    liste_modos();
    }
     
    window.onload = chargement;
    </SCRIPT>

  8. #8
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function file(fichier,idd)
    {
     
    if(window.XMLHttpRequest) // FIREFOX
    xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
    {
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    }else{return(false);
    }
     
     
    xhr_object.onreadystatechange = function(){		
    				if(xhr_object.readyState == 4) {
    				document.getElementById(idd).innerHTML =xhr_object.responseText ;				
    				}
    				else e=(false);
    			}
     
     
    xhr_object.open("GET", fichier, false);
    xhr_object.send(null);
    return e;
    }
    +setInterval

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    alors avec mon codage de mon message précédent, j'ai changé ma fonction file() par la tienne, la les compteurs n'affiches plus rien, par contre ton "+setInterval" dois-je le placer quelque part mais je ne sais pas ou ...

  10. #10
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    function fonction1()
    {
    result1 = file('./compteur1.html','affich_result1');
     
    }
     
    function fonction2()
    {
    result2 = file('./compteur2.html','affich_result2');
    }
     
    function fonction3()
    {
    result3 = file('./compteur3.html', 'affich_result3');
     
    }
     
    function chargement()
    {
    setInterval(function(){
    fonction1();
    fonction2();
    fonction3();
    },1000);
    }

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    avec un new ...tout de même

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci tout de même pour tous mais rien ne fonctionne et ça commence à me prendre la tête j'abandonne j'ai remis mon codage comme il était à la base ou tout se mélange tampis, si un moment une personne trouve une réponse ou que ça fonctionne bin ça sera sympa car là je sèche et rien des messages précédent ne m'aide merci encore tout de même à tous.

    Info: Le 07/05/2009 à 01:19 => Bon j'ai réussi à trouver une résolution je tenais à vous en informer et encore merci à vous tous. Message résolu.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/09/2006, 01h28
  2. [Cookies] Mes cookies ne sont pas créés
    Par YavaDeus dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2006, 09h41
  3. [XSL] Mes entités ne sont pas prises en compte
    Par trent94 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/07/2005, 18h49
  4. [JSTL] Mes variables ne sont pas remplacées par leur valeur
    Par thomine dans le forum Taglibs
    Réponses: 9
    Dernier message: 18/03/2005, 10h00
  5. Réponses: 17
    Dernier message: 15/10/2003, 01h45

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