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 :

Compte à rebours sur refresh sur page HTML


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut Compte à rebours sur refresh sur page HTML
    Bonjour,

    J'aimerais afficher un compte à rebours sur ma page WEB, qui correspond à mes script de refresh... voici les codes utilisés. Ils fonctionnent le problème n'est pas là... :-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    window.onload=function() {
      window.setInterval(function() {
        window.frames.Example2.location.reload()
      },1000*120)
    }
    </script>
    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
    <script type="text/javascript">
    window.onload = function() {
      var URLs = [
        "fiche1.htm",
        "fiche2.htm",
        "fiche3.htm"
      ];
      var URLsLen = URLs.length;
      var ii = 0;
      var iframe2 = document.getElementById('Example2');
      iframe2.src = URLs[0]; //
      window.setInterval(function() {
        ii++;
        iframe2.src = URLs[ii % URLsLen]; // (% : modulo)
     // }, 1000 * 60 * 2); // toutes les 2 minutes
     }, 1000 * 15); // toutes les 3 s (EN TEST !)
    };
    </script>
    Merci d'avance pour votre aide :-)

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    la solution est donnée dans cette discussion récente.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    Bonjour,

    Le code suivant fonctionne, mais je n'arrive pas à la "fusionner" avec mes deux codes à moi...

    Code qui fonctionne...
    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
    "use strict";
    function launch_count_down()
    {
      // ici : le rechargement
      let reload_delay = 1000 * 60 * 30; // toutes les 30 minutes
      setTimeout("document.location.href='Essai.php?bascule=0'", reload_delay);
     
      // Compte à rebours
      let count_down_div = document.getElementById("count_down_div");
      let count_down_delay = 1000 * 1; // toutes les 1 secondes
      let count_down = 0;
      count_down_div.textContent = 'Rechargement dans ' + heures_minutes_secondes( (reload_delay - count_down)/1000 );
      window.setInterval(function() {
        count_down += count_down_delay;
        count_down_div.textContent = 'Rechargement dans ' + heures_minutes_secondes( (reload_delay - count_down)/1000 );
        if (count_down >= reload_delay) { count_down = 0; }
      }, count_down_delay);
    }
     
    function heures_minutes_secondes( secondes )
    {
        let temps = new Date();
        temps.setTime(secondes*1000);
      if( secondes > 60 * 60) // supérieur à 1 heure
      {
        return (temps.getHours()-1)+":"+temps.getMinutes()+":"+temps.getSeconds();
      } else {
        return temps.getMinutes()+":"+temps.getSeconds();
      }
    }
     
    //window.onload = launch_count_down;
    document.addEventListener('DOMContentLoaded', function(event) {
      launch_count_down();
    });
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="count_down_div"></div>
    Mes deux codes...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    window.onload=function() {
      window.setInterval(function() {
        window.frames.Example2.location.reload()
      },1000*120)
    }
    </script>
    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
    <script type="text/javascript">
    window.onload = function() {
      var URLs = [
        "fiche1.htm",
        "fiche2.htm",
        "fiche3.htm"
      ];
      var URLsLen = URLs.length;
      var ii = 0;
      var iframe2 = document.getElementById('Example2');
      iframe2.src = URLs[0]; //
      window.setInterval(function() {
        ii++;
        iframe2.src = URLs[ii % URLsLen]; // (% : modulo)
     // }, 1000 * 60 * 2); // toutes les 2 minutes
     }, 1000 * 15); // toutes les 15 s (EN TEST !)
    };
    </script>

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    si tu écrits deux affectations, window.onload=function() {, la dernière affectation REMPLACE les précédentes affectations.

    Une solution consiste à mettre TOUS tes appels dans le window.onload.

    Un autre consiste à utiliser addEventListener, en groupant ou non tous tes apples/fonctions.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    Bonjour,

    Merci pour les informations, mais n'étant pas "du tout" un pro en JavaScript, je sèche un max...

    Serait-ce abuser de vous demander un exemple avec par exemple mon premier code, voir les deux... ?

    Ps : Cette page sera affichée sur une TV, et juste pour info, ma TV n'accepte pas les LET, elle veut obligatoirement des VAR pour déclarer les variables...

    Merci d'avance

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Moi ce qui me surprend c’est que tu as d’un côté un script qui rafraîchit l’iframe, et de l’autre côté un script qui change l’URL de la même iframe. Faire les deux à la fois, c’est inefficace car ça crée du trafic inutile.

    Pourrais-tu nous expliquer, en langage courant, ce que tes scripts de refresh sont censés faire ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

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

Discussions similaires

  1. [PPT-2013] Créer un compte à rebours visibles sur une diapositive.
    Par Invité dans le forum VBA PowerPoint
    Réponses: 11
    Dernier message: 10/01/2015, 22h24
  2. [XL-2007] comptes a rebours sur un Userform
    Par dodo69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/07/2011, 09h15
  3. [PHP-JS] Compte à rebours sur l'ensemble des pages
    Par hash95 dans le forum Langage
    Réponses: 7
    Dernier message: 14/06/2006, 15h14
  4. compte utilisateur sur windows
    Par aymane_farissi dans le forum ASP
    Réponses: 1
    Dernier message: 23/09/2005, 20h04
  5. Compte à rebours trop rapide
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2005, 20h57

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