2011-12-17 12 views
6

estoy fijando una cookie en Javascript usando el siguiente código:Chrome no establecer ruta de cookies para erradicar

setCookie('cart_items','product_name'); 


function setCookie(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=/"; 
} 

Pero la ruta de cookies no está ajustado a la raíz (/) en Chrome. En su lugar, se establece en la ruta desde donde se ejecuta la página web.

He probado con IE y FF. Funciona bien con estos dos navegadores ...

¿Qué podría estar mal con Chrome o es el problema con el código de creación de cookies que estoy usando?

En Chrome (16.0.912.63)

Ruta:/xxxxxxxx/xxxxxxx

en FF (6,0)

Ruta:/

en IE (9)

Ruta:/

+0

¿Por qué no establece usted mismo el camino? –

+0

la ruta de acceso se ha establecido explícitamente (document.cookie = name + "=" + value + expires + "; path = /";) – Sandy505

+0

ah. Perdón mi error. –

Respuesta

9

La razón por la que esto sucede es porque el cromo no permite el establecimiento de cookies en los archivos locales de forma predeterminada. Ver esta respuesta para más información: https://stackoverflow.com/a/347997/1324019 (texto de respuesta)

Chrome no es compatible galletas para archivos locales (o, como Peter Lyons mencionó, localhost *) a menos que se inicia con el enable-archivo -cookies bandera. Puede leer un debate al respecto en http://code.google.com/p/chromium/issues/detail?id=535.

* Chrome hace admite cookies si utiliza la dirección IP local (127.0.0.1) directamente. entonces, en el caso localhost, esa podría ser una solución más fácil.

+0

^arriba es la respuesta correcta. si solo OP lo marcara como tal – duggi

Cuestiones relacionadas