2010-04-11 9 views
8

Supongo que debería haber una manera de establecer que una cookie sea accesible desde todo el dominio nevermind desde qué directorio está configurando la cookie.¿Cómo se establece una cookie para ser accesible en todo el dominio en Javascript

Di en mypage.com/blue/index.php y establece la cookie "color = blue;" de esta manera:

document.cookie = "colour" + "=" + "blue" 
    + "; expires=" + expireDate.toGMTString() 
    + "; path=/"; 

Usando este código, la función de recuperación de galleta en mypage.com/home.php no puede acceder al contenido de la cookie.

Si fuera sólo de los directorios de primer nivel que la cookie se debe establecer, estaríamos bien haciendo path=../ en lugar de path=/

Pero, ¿cómo se puede ir sobre la escritura de código genérico que se establece una cookie que es accesible desde cualquier página en ese dominio sin importar qué tan profunda en la estructura del archivo está la página desde la que se está configurando la cookie?

Respuesta

11

Use path tal como lo hizo, pero establezca un atributo adicional "-delimited attribute domain". Si inicia el valor de dominio con un ., permitirá que cualquier subdominio (.example.com permita efectivamente *.example.com).

documentación completa a las diferentes opciones de cookies here

+1

IE se diferencia en el tratamiento del atributo de dominio: http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie -Internals-FAQ.aspx –

+4

En caso de que necesite un ejemplo de cómo poner esto en práctica: 'var exdate = new Date(); exdate.setDate (exdate.getDate() + 365); document.cookie = "my_cookie_value = yes; expires =" + exdate.toUTCString() + "; path = /; domain = .example.com"; ' – Russ

Cuestiones relacionadas