57 votes

Comment définir le chemin lors de l'enregistrement d'une valeur de cookie en JavaScript ?

J'enregistre des valeurs de cookies sur une page ASP. Je veux définir le chemin de la racine pour le cookie afin que le cookie soit disponible sur toutes les pages.

Actuellement, le chemin du cookie est /v/abcfile/frontend/

Aidez-moi, s'il vous plaît.

95voto

Triptaminer Points 1065

Simplement : document.cookie="name=value;path=/";

Il existe un point négatif à elle

Maintenant, le cookie sera disponible pour tous les répertoires du domaine où il se trouve. est défini. Si le site web n'est qu'un parmi d'autres sur ce domaine, il est mieux de ne pas le faire, car tous les autres auront également accès aux vos informations de cookie.

41voto

GrvTyagi Points 21

Pour le cookie d'accès dans toute l'application ( utiliser path=/ ):

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/"; 
}

Nota:

Si vous définissez path=/ ,
Maintenant le cookie est disponible pour toute l'application/domaine. Si vous ne spécifiez pas le chemin d'accès, le cookie actuel est enregistré uniquement pour la page actuelle. vous ne pouvez pas y accéder sur une ou plusieurs autres pages.

Pour plus d'informations, lisez http://www.quirksmode.org/js/cookies.html (Partie domaine et chemin)

Si vous utilisez des cookies dans le plugin jquery by jquery-cookie :

$.cookie('name', 'value', { expires: 7, path: '/' });
//or
$.cookie('name', 'value', { path: '/' });

7voto

document.cookie = "cookiename=Some Name; path=/";

Cela fera

5voto

Femi Points 42054

Ver https://developer.mozilla.org/en/DOM/document.cookie pour plus de documentation :

 setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {  
     if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/.test(sKey)) { return; }  
     var sExpires = "";  
     if (vEnd) {  
       switch (typeof vEnd) {  
         case "number": sExpires = "; max-age=" + vEnd; break;  
         case "string": sExpires = "; expires=" + vEnd; break;  
         case "object": if (vEnd.hasOwnProperty("toGMTString")) { sExpires = "; expires=" + vEnd.toGMTString(); } break;  
       }  
     }  
     document.cookie = escape(sKey) + "=" + escape(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : "");  
   }

1voto

Omer Points 161

Cela aidera....

function setCookie(name,value,days) {
   var expires = "";
   if (days) {
       var date = new Date();
       date.setTime(date.getTime() + (days*24*60*60*1000));
       expires = "; expires=" + date.toUTCString();
   }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}

 function getCookie(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) return 
        c.substring(nameEQ.length,c.length);
  }
return null;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X