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 :

Cookie non pris en compte sous Chrome


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut Cookie non pris en compte sous Chrome
    Bonjour à tous,

    J'essayes d'apprendre l'utilisation des cookies en javascript. Mon but est d'enregistrer une valeur que je pourrais lire après le rafraîchissement de ma page, j'ai donc pensé enregistrer cette valeur dans un cookie.

    Pour cela j'ai suivi le tutoriel sur : http://ppk.developpez.com/tutoriels/...es-javascript/

    Voici le 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
     
    	function createCookie(name,value,time)
    		{
    			if (time!==undefined)
    				{
    				var date = new Date();
    				date.setTime(date.getTime()+(time*1000));
    				expires = "; expires="+date.toGMTString();
    				}
    			else expires = "";
    			document.cookie = name+"="+value+expires+"; path=/";
    		}
     
    	function readCookie(name)
    		{
    			var nameEQ = name + "=";
    			var ca = document.cookie.split(';');
    			for(var i=0;i < ca.length;i++)
    				{
    				var c = ca[i];
    				while (c.charAt(0)==' ') c = c.substring(1,c.length);
    				if (c.indexOf(nameEQ) == 0)
    					{
    					var r = c.substring(nameEQ.length,c.length);
    					if(r=='')return null;
    					else return r;
    					}
    			}
    		return null;
    		}
     
     
    		createCookie("monCookie","salut",7);
    		var valeur=""+readCookie("monCookie");
    		alert(valeur);
    Donc quand le document est chargé , je créer un cookie avec la méthode creatCookie puis j'essaye de la lire dans un alert().
    Malheureusement la valeur affichée dans l'alert() est " null" ...

    j'ai pensé que le problème venait peut être du domaine donc j'ai essayé de modifier "/" par maPage.html ou encore /repertoireCourant mais sans succes.

    Malgres mes recherches je ne trouve pas ce qui ne va pas , Quelqu'un aurait une idée ?

    D'avance merci .

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 657
    Points
    44 657
    Par défaut
    Bonjour,
    aucune raison que cela ne fonctionne pas ...sauf si... le navigateur n'accepte pas les cookies

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    j'utilise chrome (derniere version) et j'ai testé si les cookies étaient acceptés comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (navigator.cookieEnabled) {
            alert( Cookies acceptés);
    } else {
            alert("Activez vos cookies !");
    }
    Ils sont bien acceptés.

    voici mon code complet si ca peut aider :
    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
    $(document).ready(function()
    {		
    	$('<h1></h1>').html( "MORPION" + '</br></br>').appendTo('#page');
    	$('#page').append('<table class="tableau"></table>');
    	creerGrille();
     
    	var Case="",nbrClick=0, pointO=1, pointX=1 ,victoire=0, nbrVictoire=0;
     
    	function createCookie(name,value,time)
    		{
    			if (time!==undefined)
    				{
    					var date = new Date();
    					date.setTime(date.getTime()+(time*1000));
    					expires = "; expires="+date.toGMTString();
    				}
    			else expires = "";
    			document.cookie = name+"="+value+expires+"; path=/";
    		}
     
    	function readCookie(name)
    		{		
    			var nameEQ = name + "=";
    			var ca = document.cookie.split(';');
    			for(var i=0;i < ca.length;i++)
    				{
    				var c = ca[i];
    				while (c.charAt(0)==' ') c = c.substring(1,c.length);
    				if (c.indexOf(nameEQ) == 0)
    					{
    					var r = c.substring(nameEQ.length,c.length);
    					if(r=='')return null;
    					else return r;
    					}
    			}
    		return null;
    		}
     
     
    		createCookie("monCookie","salut",7);
    		var valeur=""+readCookie("monCookie");
    		alert(valeur);
     
     
    	function creerGrille()
    	{						
    		var nbrCases=3;
     
    		for(i=1;i<=nbrCases;i++)
    		{			
    			$('.tableau').append('<tr class='+"ligne_"+i+'><td class=colone_1></td><td class=colone_2></td><td class=colone_3></td></tr>');
    		}
    	}
    		$('td').click(function()
    		{	
     
     
    			var colone = $(this).attr('class') ;
    			var ligne=$(this).parent().attr('class') ;
     
    			if($('tr.'+ligne+' td.'+colone).text()=="")
    			{	
    				nbrClick++;			
    				if(nbrClick%2==0)
    				$('tr.'+ligne+' td.'+colone).append('X');
    				else
    				$('tr.'+ligne+' td.'+colone).append('O');
    			}						
    			for(var j=1; j<=3 ; j++)
    			{
    				verif($('tr.ligne_'+j+' td.colone_1').text() , $('tr.ligne_'+j+' td.colone_2').text() , $('tr.ligne_'+j+' td.colone_3').text(),"O");
    				verif($('tr.ligne_'+j+' td.colone_1').text() , $('tr.ligne_'+j+' td.colone_2').text() , $('tr.ligne_'+j+' td.colone_3').text(),"X");
     
    				verif($('tr.ligne_1 td.colone_'+j).text() , $('tr.ligne_2 td.colone_'+j).text() , $('tr.ligne_3 td.colone_'+j).text(),"O");
    				verif($('tr.ligne_1 td.colone_'+j).text() , $('tr.ligne_2 td.colone_'+j).text() , $('tr.ligne_3 td.colone_'+j).text(),"X");
     
    				verif($('tr.ligne_1 td.colone_1').text() , $('tr.ligne_2 td.colone_2').text() , $('tr.ligne_3 td.colone_3').text(),"O");
    				verif($('tr.ligne_1 td.colone_1').text() , $('tr.ligne_2 td.colone_2').text() , $('tr.ligne_3 td.colone_3').text(),"X");
     
    				verif($('tr.ligne_1 td.colone_3').text() , $('tr.ligne_2 td.colone_2').text() , $('tr.ligne_3 td.colone_1').text(),"O");
    				verif($('tr.ligne_1 td.colone_3').text() , $('tr.ligne_2 td.colone_2').text() , $('tr.ligne_3 td.colone_1').text(),"X");				
    			}	
     
    			function verif(verif1,verif2,verif3,joueur)
    			{						
    				if( verif1==joueur && verif2==joueur && verif3==joueur && victoire==0)
    				{	
    					$('<h1></h1>').html( "Victoire joueur : "+joueur + '</br></br>').appendTo('#page');
    					victoire++;
    					nbrVictoire++;
    				}
    			}	
     
    		});	
     
    });

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 657
    Points
    44 657
    Par défaut
    Il y a des chances que Chrome bloque les cookies sous protocol file:///.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    ah, c'est moche....

    Merci pour votre réponse !

    connaissez vous un moyen de remédier à ce problème ?

    j'ai été vérifier dans les paramétrés de confidentialité de chrome, les cookies sont activés en local

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    je viens d'afficher ma page en passant par WampServer et ca fonctionne, j'affiche la valeur enregistrée.

    Mais quand, sous notepadd++ je fais :"execution / launch in Chrome" ca ne fonctionne pas, la valeur du cookie est "null".

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 657
    Points
    44 657
    Par défaut
    Mais quand, sous notepadd++...
    les fichiers sont ouverts en protocol file:///, regarde la barre d'adresse.

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    un grand merci à vous pour votre aide precieuse !

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

Discussions similaires

  1. Fichier de VirtualHost non pris en compte sous Apache2
    Par hAz4rd0uS dans le forum Apache
    Réponses: 1
    Dernier message: 15/09/2014, 17h34
  2. Réponses: 1
    Dernier message: 16/03/2010, 10h21
  3. Onmouseover non pris en compte sous FireFox
    Par zouetchou dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/10/2008, 09h51
  4. Margin-top non pris en compte sous ff
    Par orphen dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/10/2008, 15h42
  5. margin non pris en compte sous ie7
    Par Emcy dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 03/04/2008, 12h57

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