read - Crear una cookie de JavaScript en un dominio y leerla en subdominios
leer cookie javascript (4)
Simplemente configure los atributos de domain
y path
en su cookie, como:
<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>
A continuación se muestra una cookie de JavaScript que está escrita en la computadora del usuario durante 12 meses.
Después de establecer la cookie en nuestro dominio principal, como example.com
, si el usuario visita un subdominio como test.example.com
, debemos seguir identificando la actividad del usuario en nuestro subdominio de "prueba".
Pero con el código actual, tan pronto como salen de www.example.com
y visitan test.example.com
, ya no se marcan como "HelloWorld".
¿Alguien podría ayudar con mi código para permitir que la cookie se lea en los subdominios?
<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>
También puede usar el Marco de cookies de JavaScript de MDN y hacer:
docCookies.setItem(''HelloWorld'', ''HelloWorld'', myDate, ''/'', ''example.com'');
Usted quiere:
document.cookie = cookieName +"=" + cookieValue + ";domain=.example.com;path=/;expires=" + myDate;
De acuerdo con el RFC 2109 , para tener una cookie disponible para todos los subdominios, debe poner un .
frente a tu dominio
Establecer la ruta = / tendrá la cookie disponible dentro de todo el dominio especificado (también .example.com
como .example.com
).
document.cookie = "testCookie=cookieval; domain=." +
location.hostname.split(''.'').reverse()[1] + "." +
location.hostname.split(''.'').reverse()[0] + ''; path=/"
Esta es una solución genérica que toma el dominio raíz del objeto de ubicación y establece la cookie. La inversión es porque no sabes cuántos subdominios tienes, si es que hay alguno.