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 :

Planifier un script


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Par défaut Planifier un script
    Bonjour,
    Je voudrais savoir si en Javascript, on peut planifier une fonction en fonction de l'heure:

    En fait je voudrais lancer ce script seulement dans une certaine plage horaire:
    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
    <script type="text/javascript">
    var temps = <?php echo $secondes;?>;
    var timer =setInterval('CompteaRebour()',1000);
    function CompteaRebour(){
     
      temps-- ;
      j = parseInt(temps) ;
      h = parseInt(temps/3600) ;
      m = parseInt((temps%3600)/60) ;
      s = parseInt((temps%3600)%60) ;
      document.getElementById('minutes').innerHTML= (h<10 ? "0"+h : h) + '  h :  ' +
                                                    (m<10 ? "0"+m : m) + ' mn : ' +
                                                    (s<10 ? "0"+s : s) + ' s ';
    if ((s == 0 && m ==0 && h ==0)) {
       clearInterval(timer);
       url = "<?php echo $redirection;?>"
       Redirection(url)
    }
    }
    function Redirection(url) {
    window.setTimeout("window.location.reload(true)",500);
    }
    </script>
    C'est un script qui va me servir à simuler une tache cron
    merci d'avance

  2. #2
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var now = new Date();
    var minutes = now.getMinutes() + now.getHours()*60;
    var debut = 765 ; // pour 12h45=12*60+45
    var fin = 820 ; // pour 13h40=13*60+40
    if(minutes>=debut||minutes<=fin)
     {
     fonction(); // ta fonction
     }
    else{
    // ce qui se passe si tu es en dehors de ta plage horaire
    }
    Il ne te reste plus qu'a changer les valeurs qui te conviennent, si c'est bien cela que tu veux

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Par défaut
    Hello!
    Merci mais... c'est du php cha !?
    Le souci c'est que php va avoir besoin que je rafraichisse la page panuellement pour faire son test.
    C'est opour cela que je cherche plutot en js de manière qu'il surveille l'heure en local et réagisse seul quand la condition est remplie...

    MErci quand même de ta réponse

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Ha tu en en vois où du php ?
    Pour moi c'est bien du js ..
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Par défaut
    oups désolé
    mes doigts sont plus rapides que mon cerveau ces jours ci...
    Je l'ai implémenté mais j'obtiens une erreur d'objet attendu...
    mon code:

    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
    $heures   = 1;  // les heures < 24
    $minutes  = 00;   // les minutes  < 60
    $secondes = 00;  // les secondes  < 60
    
    $annee = date("Y");  // par defaut cette année
    $mois  = date("m");  // par defaut ce mois
    $jour  = date("d");  // par defaut aujourd'hui
    
    $redirection = 'http://www.monsite/cron.php'; // quand le compteur arrive à 0
                                                // j'ai mis une redirection
    
    /*******************************************************************************
        * calcul des secondes
        ***************************************************************************/
    
    $secondes = mktime(date("H") + $heures,
                                date("i") + $minutes,
                                date("s") + $secondes,
                                $mois,
                                $jour,
                                $annee
                                ) - time();
    ?>
    <script type="text/javascript">
    //planificateur
    var now = new Date();
    var minutes = now.getMinutes() + now.getHours()*60;
    var debut = 765 ; // pour 12h45=12*60+45
    var fin = 820 ; // pour 13h40=13*60+40
    if(minutes>=debut||minutes<=fin)
     {
    
    //script decompte
    var temps = <?php echo $secondes;?>;
    var timer =setInterval('CompteaRebour()',1000);
    function CompteaRebour(){
    
      temps-- ;
      j = parseInt(temps) ;
      h = parseInt(temps/3600) ;
      m = parseInt((temps%3600)/60) ;
      s = parseInt((temps%3600)%60) ;
      document.getElementById('minutes').innerHTML= (h<10 ? "0"+h : h) + '  h :  ' +
                                                    (m<10 ? "0"+m : m) + ' mn : ' +
                                                    (s<10 ? "0"+s : s) + ' s ';
    if ((s == 0 && m ==0 && h ==0)) {
       clearInterval(timer);
       url = "<?php echo $redirection;?>"
       Redirection(url)
    }
    }
    function Redirection(url) {
    window.setTimeout("window.location.reload(true)",500);
    }
    //fin planificateur
     }
    else{
    Message = "Pas de téléchargement planifié dans cette tranche horaire !";
    } 
    </script>
    </head>
    
    <body onload="timer">
    <SCRIPT LANGUAGE="JavaScript">
    document.write(Message());
    </SCRIPT>
    
    <?php
    // la condition est que le nombre de seconde soit etre superieur a 24 heures
    if ($secondes <= 3600*24) {
    ?>
    <span style="font-size: 14px;"><b>Prochaine Mise à Jour :</b>
    <font color="#ff0000"><b><div id="minutes" style="font-size: 16px;"></div></b></font></span>
    <?php
     }
    ?>
    [...]
    Il me note l'erreur sur la ligne en rouge, mais pourtant cette partie du script fonctionne bien normalement.

    Merci

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Bonjour,

    En même temps si tu appelles une fonction avant qu'elle ne soit implémentée il y a maldonne

    EDIT : j'ai rien dit

Discussions similaires

  1. Tâche planifié et script VBS W7
    Par Oupsy dans le forum Windows 7
    Réponses: 0
    Dernier message: 24/09/2014, 08h39
  2. planifier une execution périodique d'un script php
    Par z.fati dans le forum Langage
    Réponses: 2
    Dernier message: 03/07/2008, 13h24
  3. Comment depuis un script bash, créer une tache planifier (crontab) ?
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 22/08/2007, 22h05
  4. planifier des script perl
    Par mariafan dans le forum Modules
    Réponses: 9
    Dernier message: 26/07/2007, 14h57
  5. [WAS] script redémarrage planifié WAS
    Par Ensiaste2006 dans le forum Websphere
    Réponses: 3
    Dernier message: 02/02/2007, 10h15

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