Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de SetTimeOut() [ JavaScript et le navigateur / Fonctionnement d'une propriété d'un navigateur ] (Jpeg69)

vendredi 8 février 2008 à 09:30:16 | Problème de SetTimeOut()

Jpeg69

Bonjour tout le monde !

J'ai un léger soucis avec le SetTimeOut().
Je l'utilise naturellement pour gérer un compte à rebours.

Celui-ci marche parfaitement sous FireFox et commence bien à 0.

En revanche mon problème se trouve sur IE7, où celui-ci ne commence pas à 0 !!!
J'ai l'impression qu'il se cummule sans s'initialiser (j'en suis à 50461297  !).
Ainsi je ne peux plus l'utiliser correctement.

Je cherche donc un moyen d'initialiser le SetTimeOut() pour qu'il commence à 0 sous IE7.

J'ai déjà pris connaisance du ClearTimeOut(), mais celui-la ne fait qu'arréter le SetTimeOut().
Vider le cache du navigateur ne change rien non plus.

J'attend donc vos réponse avec impatience !
Et merci d'avance.

PS : Je HAIS IE, c'est juste que j'ai besoin de faire un site compatible sous ces 2 navigateurs.

vendredi 8 février 2008 à 09:42:40 | Re : Problème de SetTimeOut()

bultez

Membre Club


Bonjour,

>>PS : Je HAIS IE
    bah.... ne l'utilises plus !... il y a de superbes alternatives.
    pourquoi se faire du mal ? c'est stupide et inutile.

    pour ton problème, c'est sûrement du à une erreur que tu fais et pas à IE.
    il y a des différences entre FF et IE. il faut en tenir compte.
    mais avec ce que tu nous donnes, impossible de trouver TON ERREUR.

¡--------¡----------------------------------------------------------¡
|FireFox |regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
| | |
| | et mieux, télécharger FireBug |
|--------|----------------------------------------------------------|
|Internet|activer le deboggage : Outils/options Internet/Avancés |
|Explorer| dans la liste, sous "Navigation" : décocher |
| | ° Afficher une notification de chaque erreur de script |
| | ° Désactiver le débogage de Scripts (Internet Explorer) |
| | |
| | et mieux, télécharger le Debogger IE |
|--------|----------------------------------------------------------|
|K-Meleon|regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
|--------|----------------------------------------------------------|
|Opera |regarder la "console d'erreurs" |
| | Outils / Avancé / Console d'erreurs |
|--------|----------------------------------------------------------|
|Safari |regarder Debug / Show JavaScript Console |
| | |
| |modif Fichier "Support:\Documents and Settings\utilisateur|
| |\Application Data\Apple Computer\Safari\Preferences.plist"|
| | y ajouter <key>IncludeDebugMenu</key> |
| | <true/> |
!--------!----------------------------------------------------------!
  


                Cordialement            Bul         «mon Site»     «M'écrire»

vendredi 8 février 2008 à 09:52:45 | Re : Problème de SetTimeOut()

bultez

Membre Club
parce qu'entre nous, "initialiser un setTiemout() pour qu'il commence à 0", ça ne veut rien dire.
un setTimeout, c'est : tu lanceras la séquence javascript citée dans x milli-secondes. pas plus.

                Cordialement            Bul         «mon Site»     «M'écrire»

vendredi 8 février 2008 à 10:06:03 | Re : Problème de SetTimeOut()

rbinse

Réponse acceptée !
Bonjour,

Essaie d'utiliser setInterval
http://www.toutjavascript.com/reference/reference.php?ref=setInterval&parent=6
avec une variable globale que tu décrémentes à chaque appel. Lorsque que tu arrives à 0, tu appelles clearInterval
[ Lien ]

 <html>
<head>
    <title>setInterval</title>
    <script type="text/javascript">
        var n = 5; // pendant 5 secondes
        c = setInterval("chrono()", 1000); // Appel toutes les secondes
        function chrono(){
            document.getElementById("chrono").innerHTML = n;
            if (--n==0) clearInterval(c);
        }
    </script>
</head>
<body>
    <div id="chrono"></div>
</body>
</html>


vendredi 8 février 2008 à 10:50:09 | Re : Problème de SetTimeOut()

Jpeg69

Salut !

>>bah.... ne l'utilises plus !... il y a de superbes alternatives
    pourquoi se faire du mal ? c'est stupide et inutile.

1 : J'ai besoin de gérer une compatibilité FireFox / IE. Donc j'utilise les 2 obligatoirement !

2 : C'est intéressant et utile de connaître les différences entre ces navigateurs. Cela permet de s'adapter plus facilement et d'avoir une ouverture d'esprit selon les demandes du patron ou de clients !

Effectivement j'ai peut-être pas assez détaillé mon "problème".

Sous FireFox :

    function MaFonction()
             {
                      MaVar = setTimeout('MaFonction()',1000); //Le setTimeout appelle la fonction dans laquelle il est, donc ça boucle (idéal pour gérer une date dynamiquement).
                      //à la première utilisation MaVar = 0
                      //à la deuxième utilisation (au bout d'une seconde donc) MaVar = 1

                      //Ainsi je peux gérer différentes instructions précises au bout d'un certain temps voulus.

                      //Liste d'instructions....

              }


Sous IE :

    function MaFonction()
             {
                      MaVar = setTimeout('MaFonction()',1000); //Le setTimeout appelle la fonction dans laquelle il est, donc ça boucle (idéal pour gérer une date dynamiquement).
                      //à la première utilisation MaVar = 50453550
                      //à la deuxième utilisation (au bout d'une seconde donc) MaVar = 50453551

                      //Ainsi je NE peux PLUS gérer différentes instructions précises au bout d'un certain temps voulus sachant que le chiffre indiqué est inconnu à chaque fois que je lance IE.
                      //Donc inutile de chercher des formules mathématiques.

                      //Liste d'instructions....

              }

En se qui concerne FireBug et Debogger IE, aucun ne dédecte des "erreurs".

>>parce qu'entre nous, "initialiser un setTimeout() pour qu'il commence à 0", ça ne veut rien dire.

Je viens de démontrer que ça veut bien dire quelque chose. J'espère ne pas te l'apprendre, mais le setTimeout() renvoi bel et bien une valeur.

J'espère avoir été plus clair cette fois.

PS : Pourquoi mon texte est passé en bleue dans mon premier post ???? Je n'ai jamais demandé ça !

vendredi 8 février 2008 à 10:51:07 | Re : Problème de SetTimeOut()

Jpeg69

Je vais tester le setInterval rbinse.

vendredi 8 février 2008 à 11:36:48 | Re : Problème de SetTimeOut()

rbinse

Réponse acceptée !
La valeur renvoyée par Settimeout est un identifiant, à passer à clearTimeout par exemple, tu ne peux avoir aucun contrôle sur lui. Cela dépend du navigateur. C'est un hasard que cela commence à 0 avec firefox... Tu dois utiliser une variable si tu veux avoir du contrôle.

vendredi 8 février 2008 à 11:56:27 | Re : Problème de SetTimeOut()

Jpeg69

Merci de tes réponses rbinse !

L'utilisation de ce setInterval() set très intéressante.

Effectivement j'avai utilisé le principe que tu me propose, et voila le résultat :

Sous FireFox ça marche très bien (comme par hasard).
Sous IE7 ça marche pas vraiment (comme par hasard ^^). Ses secondes sont rapide est elles ne sont pas égales !! Vraiment bizar.

J'ai donc remplacé le setInterval() par un setTimeout() tout en respectant ton principe.
Cette fois-ci ça marche très bien sous FireFox et sous IE7 ! (les miracles existes !)

Merci encore !

PS : Je revient sur mon "initialiser un setTimeout() pour qu'il commence à 0", effectivement ça veut rien dire. Mais la simple explication de rbinse suffit.

vendredi 8 février 2008 à 12:41:35 | Re : Problème de SetTimeOut()

bultez

Membre Club
ben... si on avait eu ça d'entrée :
  {     MaVar = setTimeout('MaFonction()',1000);
          //à la première utilisation MaVar = 0
    je t'aurais dit le même chose que rbins... je crois.
>>Cette fois-ci ça marche très bien sous FireFox et sous IE7 ! (les miracles existes !)
    quand on fait les choses correctement, pas de souci ( avec IE ou FF !)
   
aucun miracle ici    :o))
                Cordialement            Bul         «mon Site»     «M'écrire»



Cette discussion est classé dans : problème, initialiser, ie7, commence, settimeout


Répondre à ce message

Sujets en rapport avec ce message

Problème avec setTimeout [ par killergamer ] Salut tout le monde.... J'ai un problème : Je doit appeler une fonction avec l'aide de setTimeOut. Mais lorsque j'appelle cette fonction, je dois au Problème : window.blur() [ par Mickael ] Salut !j'ai cette fonction :setTimeout("xtpop.blur();",10000); // je réduit la popup au bout de 10 sec .setTimeout("xtpop.?????();",10000); // je veux problème setTimeOut [ par RockmanX ] Salut!voici un petit code que j'ai mis sur une page qui affiche des photos en diaporama:     window.setInterval(document.location='viewphoto.ags?photo Problème de setTimeout OU de modification de variable ??? [ par pcmanprogrammeur ] Bonjour,J'ai un problème avec mon code Javascript. Je vous ai simplifié le principe pour plus de compréhension :var autorisation = true; function a( problème avec 'ondblclick' sous ie7 [ par ludo782 ] Bonsoir tout le monde,IE7 me pose quelques soucis depuis cet après-midi.Je cherche à mettre un listener qui appelle une fonction au double-clique. Je Problème setTimeout et poo - valeur qui ne change pas (au secours...) [ par 0Philooz0 ] Bonjour,J'ai un problème ( depuis maintenant deux jours ) avec le bout de code suivant:///Portion de code qui pose problème.fun Problème d'envoie de formulaire sous IE7 [ par rallierst ] Salut à toutes et à tous,Voilà j'ai fait un formulaire des plus simple, 'envoie se faisant par biais d'une image, rien de particulier. Ce dernier fonc problème affichage menu déroulant dans firefox et IE6 [ par victorian77 ] Bonjour, je suis en train de refonder un site en ajoutant un menu déroulantquand je survole une catégorie une liste d'items secondaires doit apparaîtr Problème avec fichier XML [ par queeny933 ] Quand, dans une balise XML, on doit introduire un caractère "" comment peut-on s'y prendre pour que ce caractère ne soit pas interprèté comme le début Problème envoi de données de formulaire [ par nooTe91 ] Bonjour,Je ne sais pas si je suis dans la bonne section,si c'est plutot HTML ou Javascript .J'ai un problème avec l'envoi de données.Je suis actuellem


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,045 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.