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 :

Lecture d'un cookie


Sujet :

JavaScript

  1. #1
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut Lecture d'un cookie
    J'ai un problème pour vérifier l'état d'un cookie.
    Je vérifie si une personne est deja venue, si ce n'est pas le cas j'affiche une fenêtre.
    Voici 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
     
    <script type="text/javascript" language="javascript">
    // <![CDATA[
    function ecrire_cookie(nom, valeur, expires) {
      document.cookie=nom+"="+escape(valeur)+
      ((expires==null) ? "" : ("; expires="+expires.toGMTString()));
    }
     
    function arguments_cookie(offset){
      var endstr=document.cookie.indexOf (";", offset);
      if (endstr==-1) endstr=document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr)); 
    }
     
    function lire_cookie(nom) {
      var arg=nom+"=";
      var alen=arg.length;
      var clen=document.cookie.length;
      var i=0;
      while (i<clen){
        var j=i+alen;
        if (document.cookie.substring(i, j)==arg)
           return arguments_cookies(j);
        i=document.cookie.indexOf(" ",i)+1;
        if (i==0) break;
      }
      return null; 
    }
    function openwindows()
    {
        window.open("voeux.html", "",
    		"width=800,height=600,scrollbars=0,left=" +
    		((screen.width - 800)/2) + ",top=" + ((screen.height - 600)/2) )
    }
     date=new Date;
      date.setMonth(date.getMonth()+1); // expire dans un mois
      ecrire_cookie("voeux", "1", date);
     
      function test() {
      voeux = lire_cookie("voeux");
      if (voeux == 1) {
      alert("Cookie présent");
      }
      else { openwindows(); }
      }
    // ]]>
    </script>
    Je fais un appel de la fonction test dans le onload, le cookie est bien crée, il prend bien sa valeur, mais ma fenêtre ne s'ouvre pas et rien ne se passe.

    Une idée ?

    Merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    certainement un problème de type : arguments_cookies(j) doit renvoyer un type string. Or tu le test en numérique.
    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function test() {
    voeux = lire_cookie("voeux");
    if (voeux == "1") {
    alert("Cookie présent");
    }
    else { openwindows(); }
    }
    Sinon (voeux == 1) renverra true pour voeux = "0" (false pour voeux="")

    A+

  3. #3
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    J'y ai pensé j'ai testé mais ce ne changeait rien...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Par défaut
    salut,

    de quoi etre dégouté : ^^

    function arguments_cookie(offset){
    ....
    return arguments_cookies(j);

  5. #5
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    PUNAISE !
    Bien vu. Ca marche mieux

    Bon par contre je parviens pas à faire déclencher mon action comme je veux.
    Voici ce que je viens d'essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function test() {
      voeux = lire_cookie("voeux");
      if (voeux == '') { openwindows();}
      }

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Laissez tomber !
    Je crée le cookie avant ! Pfff

  7. #7
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Solution, ça peut toujours servir :

    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
     
    <script type="text/javascript" language="javascript">
    // <![CDATA[
    function ecrire_cookie(nom, valeur, expires) {
      document.cookie=nom+"="+escape(valeur)+
      ((expires==null) ? "" : ("; expires="+expires.toGMTString()));
    }
     
    function arguments_cookie(offset){
      var endstr=document.cookie.indexOf (";", offset);
      if (endstr==-1) endstr=document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr)); 
    }
     
    function lire_cookie(nom) {
      var arg=nom+"=";
      var alen=arg.length;
      var clen=document.cookie.length;
      var i=0;
      while (i<clen){
        var j=i+alen;
        if (document.cookie.substring(i, j)==arg)
           return arguments_cookie(j);
        i=document.cookie.indexOf(" ",i)+1;
        if (i==0) break;
      }
      return null; 
    }
    function openwindows()
    {
        window.open("voeux.html", "",
    		"width=800,height=600,scrollbars=0,left=" +
    		((screen.width - 800)/2) + ",top=" + ((screen.height - 600)/2) )
    }
      date=new Date;
      date.setMonth(date.getMonth()+1); // expire dans un mois
     
      function test() {
      voeux = lire_cookie("voeux");
      if (voeux != '1') { openwindows(); ecrire_cookie("voeux", "1", date);}
      }
     
     
    // ]]>
    </script>
    Et on fait appel à la fonction test() dans le onload

    merci encore à toi jln13 ^^

Discussions similaires

  1. Lecture d'un cookie SSL en javascript
    Par starfiko dans le forum Sécurité
    Réponses: 0
    Dernier message: 12/06/2013, 21h59
  2. Lecture d'un cookie sur une URL distante
    Par naholyr dans le forum Développement
    Réponses: 3
    Dernier message: 10/03/2010, 10h12
  3. Lecture d'un cookie et propriété STRICT_SERVLET_COMPLIANCE
    Par skinner dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 26/01/2010, 15h02
  4. [Cookies] Problème de lecture d'un cookie
    Par christgh dans le forum Langage
    Réponses: 6
    Dernier message: 16/04/2008, 23h13

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