Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code HTML qui n'apparait qu'une fois par jour via cookies

Création d'un cookies

Sujet résolu
    31 juillet 2011 à 22:50:40

    Bonjour,
    Désolé de vous demander un truc si bête mais je souhaiterais faire apparaitre un bout de code html qu'une fois par jour via un cookies en JS...

    Mais le cookie en question dois s'activer qu'au clic sur un lien.

    Voilà je suis peut-être exigeant mais ça fait vraiment longtemps que je cherche et je me lance enfin à demander de l'aide...

    Merci d'avance,
    Cordialement,
    Guillaume
    • Partager sur Facebook
    • Partager sur Twitter
      1 août 2011 à 0:02:49

      Et bien, c'est plutôt simple à mettre en oeuvre ;)

      // Création de la fonction
      var faireApparaitreHtml = function() {
          
          // Tentative réccupération du cookie (on cherche juste si la liste contient notre clef)
          var index = document.cookie.indexOf("htmlDejaVu=");
          
          // Si index ne vaut pas -1, c'est que la clef a été trouvé, 
          // donc que le cookie existe, et donc que la fonction a déjà été appelé aujourd'hui
          //    => on ne fait rien
          if(index != -1) {
              return;
          }
          
          // Création de la date qui va faire l'expiration de notre cookie
          // En l'occurrence, il s'agit de demain
          //    => on mets heurs, minutes, secondes à 0 et on incrémente la date
          var date = new Date();
          date.setSeconds(0);
          date.setMinutes(0);
          date.setHours(0);
          date.setDate(date.getDate()+1);
          
          // Ajout de notre cookie (sa valeur est vide, juste le fait qu'il existe compte)
          window.cookie = "htmlDejaVu=; ; expires=" + date.toUTCString();
          
          // Il ne reste plus qu'a ajouter le code pour faire apparaitre le HTML, 
          //    => à toi de joué 
          
      }
      



      Après, un petit lien avec l'attribut onclick et c'est parti ;)


      PS : j'ai codé ça directement dans le champs réponse du SDZ et sans testé. Il se peut donc qu'il y ai quelques erreurs sur les noms de fonctions mais le principale est que tu ai compris comment procéder ;)
      ( :-° il y a beaucoup de son "é" dans cette phrase mais je pense que je les ai tous bien orthographiés :) )
      • Partager sur Facebook
      • Partager sur Twitter
        1 août 2011 à 0:12:34

        Salut,
        Cette syntaxe me semble bizarre :
        var faireApparaitreHtml = function()
        

        Ce serait pas plutôt ça ?
        function faireApparaitreHtml()
        


        Enfin, dis-moi si je me trompe, je veux pas faire mon emmerdeur.
        • Partager sur Facebook
        • Partager sur Twitter
          1 août 2011 à 8:46:54

          Les 2 marchent ;)

          C'est juste que j'utilise beucoups les namespaces que l'on code de cette façon :
          var log =  {
              debug: function(str) {
                  // ...
              },
              warning: function(str) {
                  // ...
              }
          };
          
          log.debug("plop");
          


          Ce qui se rapproche beaucoup plus de "var faireApparaitreHtml = function()" que de "function faireApparaitreHtml()" donc voila ^^
          • Partager sur Facebook
          • Partager sur Twitter
            1 août 2011 à 11:15:59

            Cela m'a l'air parfait mais le problème est que je suis une grosse "brèle" donc si vous pouviez me donner aussi un exemple de code complet HTML avec donc l'appellation OnClick dans le "HREF"...

            Désolé encore...
            • Partager sur Facebook
            • Partager sur Twitter
              1 août 2011 à 13:29:53

              Ehh, dis moi, que veux tu exactement ?

              - une aide pour un problème que tu rencontres ?
              - une solution toute faite ou il n'y a qu'à faire copier/coller ?


              A afficher si tu veux une aide :



              A afficher si tu veux une solution toute prette :
              Je serais assez déçu que tu lises ce message ...
              Ce n'est pas l'attitude d'un membre du SDZ que de chercher une solution à copier/coller sans comprendre.
              De plus, ce n'est pas comme ça que tu vas progressé.
              Je t'invites donc à ouvrir l'autre cadre secret :)
              • Partager sur Facebook
              • Partager sur Twitter
                1 août 2011 à 14:08:36

                bon bien encore un fois je me suis démerdé donc pour ceux que ça intéresse :
                <script>
                function ScanCookie(variable)
                	{
                	cook = document.cookie;
                	variable += "=";
                	place = cook.indexOf(variable,0);
                	if (place <= -1)
                		return("0");
                	else
                		{
                		end = cook.indexOf(";",place)
                		if (end <= -1)
                			return(unescape(cook.substring(place+variable.length,cook.length)));
                		else
                			return(unescape(cook.substring(place+variable.length,end)));
                		}
                	}
                
                function CreationCookie(nom,valeur,permanent)
                	{
                	if(permanent)
                		{
                		dateExp = dateExp.toGMTString();
                		ifpermanent = '; expires=' + dateExp + ';';
                		}
                	else
                		ifpermanent = '';
                	document.cookie = nom + '=' + escape(valeur) + ifpermanent;
                	}
                
                if(ScanCookie("dejapopup")==0)
                	{
                
                
                
                
                document.write('<A href="http://...." target="_blank" onClick="CreationCookie(\'dejapopup\',\'oui\',false)">Lien</A>');
                
                
                
                
                }
                </script>
                


                Voilà donc je l'ai déjà dit je suis nul, donc si quelqu'un veut bien décrire le code pour donc faire comprendre aux autres... ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  1 août 2011 à 14:25:23

                  Citation

                  bon bien encore un fois je me suis démerdé


                  Citation

                  donc si quelqu'un veut bien décrire le code pour donc faire comprendre au autre



                  Donc encore une fois, tu igonore totalement les réponses de ceux qui t'ont aidé (en l'occurance : moi) pour préférer une solution copier/coller toute prette que tu ne comprends même pas !

                  Même pas un merci, RIEN

                  Franchement, je trouve ton attitude inaceptable pour un zéro.


                  PS : Je signal ce sujet pour "manque de politesse" en espérant que ça te fasse réfléchir.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    1 août 2011 à 14:40:17

                    Ce n'est pas un "manque de politesse" en tant que tel mais il est vrai qu'un peu de bonne volonté serait la bienvenue... :-°
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 août 2011 à 14:49:32

                      Hum, mouai, plus ou moins.
                      C'est juste que c'est un peu frustrant de se rendre compte qu'on a perdu 10 minutes de son temps à répondre à quelqu'un qui n'a même pas pris le temps de comprendre ce que l'on a écrit. D'autant plus qu'il n'en est pas à sa première fois.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Code HTML qui n'apparait qu'une fois par jour via cookies

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown