¿Por qué Chrome ignora las cookies locales de jQuery?
google-chrome (8)
Chrome no admite cookies para archivos locales (o, como menciona Peter Lyons, localhost *), a menos que lo inicie con el indicador --enable-file-cookies. Puede leer un debate al respecto en http://code.google.com/p/chromium/issues/detail?id=535 .
* Chrome 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.
Estoy usando el plugin jQuery Cookie ( download y demo y código fuente con comentarios ) para configurar y leer una cookie. Estoy desarrollando la página en mi máquina local .
El siguiente código establecerá con éxito una cookie en FireFox 3, IE 7 y Safari (PC). Pero si el navegador es Google Chrome Y la página es un archivo local , no funciona.
$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});
Lo que sé :
- La demo del complemento funciona con Chrome.
- Si coloco mi código en un servidor web (dirección que comienza con http: //), funciona con Chrome.
Entonces, la cookie falla solo para Google Chrome en los archivos locales .
Posibles causas :
- Google Chrome no acepta cookies de páginas web en el disco duro (rutas como file: /// C: /websites/foo.html)
- Algo en la implementación del complemento hace que Chrome rechace dichas cookies
¿Alguien puede confirmar esto e identificar la causa raíz?
Otra posible causa es la path: "/"
, ya que no está utilizando una URL web normal, /
probablemente no signifique demasiado; intente sin configurar la ruta.
Para las aplicaciones locales, use localStorage en Chrome: http://people.w3.org/mike/localstorage.html
Si usa chrominum, este es el comando para habilitar las cookies locales
Chrome-browser --enable-file-cookies
Es lo mismo para cromo
Espero que esto te ayude!
Tuve el mismo problema, intente utilizar la dirección IP de localhost en su lugar. Por ejemplo, "http://127.0.0.1/yoursite/"
Tuve un problema y lo resolvió esta terrible solución. usando el plugin store y cookie juntos.
<script src="js/jquery.cookies.2.2.0.js" type="text/javascript"></script>
<script src="js/jquery.Storage.js" type="text/javascript"></script>
var is_chrome = navigator.userAgent.toLowerCase().indexOf(''chrome'') > -1;
//get cookies
var helpFlag=(is_chrome)?$.Storage.get("helpFlag"):$.cookies.get("helpFlag");
//set cookies
if(is_chrome)$.Storage.set("helpFlag", "1");else $.cookies.set("helpFlag", "1");
Sé que esta no es la solución perfecta pero funciona para mí
echa un vistazo a Cookies y Google Analytics .
$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});
cambiar esta línea a
$.cookie("nameofcookie", cookievalue, {*Path:* "/", expires: 30});
este proyecto funciona bien