109 votes

Créer un cookie javascript sur un domaine et le lire sur plusieurs sous-domaines

Ci-dessous est un javascript cookie qui est écrit sur l'ordinateur de l'utilisateur pendant 12 mois. Nous avons le cookie sur notre domaine principal comme example.com/index.html et si l'utilisateur visite un sous-domaine qui est le nôtre comme TEST.example.com/index.html nous devons continuer à identifier l'activité de l'utilisateur à travers notre TEST de sous-domaines. Dès qu'ils quittent www.example.com et visite test.example.com ils ne sont plus signalés en tant que "HelloWorld".

Quelqu'un serait-il en mesure d'aider avec mon code afin de permettre au témoin de lire à travers les sous-domaines?

<script type="text/javascript">
var cookieName = 'HelloWorld';
var cookieValue = 'HelloWorld';
var myDate = new Date();
myDate.setMonth(myDate.getMonth() + 12);
document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate;
</script>

222voto

aroth Points 28424

Il suffit de définir les attributs domain et path sur votre cookie, comme suit:

 <script type="text/javascript">
var cookieName = 'HelloWorld';
var cookieValue = 'HelloWorld';
var myDate = new Date();
myDate.setMonth(myDate.getMonth() + 12);
document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate 
                  + ";domain=.example.com;path=/";
</script>
 

33voto

Mike Lewis Points 29305

Tu veux:

 document.cookie = cookieName +"=" + cookieValue + ";domain=.example.com;path=/;expires=" + myDate;
 

Conformément à la RFC 2109 , pour qu'un cookie soit disponible pour tous les sous-domaines, vous devez placer un . devant votre domaine.

Si vous définissez le chemin = /, le cookie sera disponible dans l’ensemble du domaine spécifié (alias .example.com ).

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