J'utilise le plugin jQuery Cookie ( download et demo et code source avec commentaires ) pour créer et lire un cookie. Je développe la page sur ma machine locale.
Le code suivant permettra de définir un cookie dans FireFox 3, IE 7 et Safari (PC). Mais si le navigateur est Google Chrome ET que la page est un fichier local, cela ne fonctionne pas.
$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});
Ce que je sais:
Le cookie échoue donc uniquement pour Google Chrome sur les fichiers locaux.
Causes possibles:
Quelqu'un peut-il confirmer cela et identifier la cause première?
Chrome ne prend pas en charge les cookies pour les fichiers locaux (ou, comme Peter Lyons, localhost *), à moins que vous ne le lanciez avec l'indicateur --enable-file-cookies. Vous pouvez lire une discussion à ce sujet sur http://code.google.com/p/chromium/issues/detail?id=535 .
* Chrome prend-il en charge les cookies si vous utilisez directement l'adresse IP locale (127.0.0.1)? Donc, dans le cas localhost, cela pourrait être une solution de contournement plus facile.
Pour les applications locales, utilisez localStorage dans Chrome à la place: http://people.w3.org/mike/localstorage.html
j'ai eu un problème et résolu cette terrible solution . en utilisant magasin et cookie plugin ensemble.
<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");
Je sais que ce n'est pas une solution parfaite mais fonctionne pour moi
J'ai eu le même problème, s'il vous plaît essayez d'utiliser l'adresse IP de localhost à la place. Par exemple, "http://127.0.0.1/yoursite/"
veuillez consulter Cookies & Google Analytics .
$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});
changer cette ligne en
$.cookie("nameofcookie", cookievalue, {*Path:* "/", expires: 30});
ce projet fonctionne bien.
Une autre cause possible est le path: "/"
, puisque vous n'utilisez pas d'URL Web normale, /
ne veut probablement pas dire grand chose - essayez sans définir le chemin.
Si vous utilisez chrominum, cette commande permet d'activer les cookies locaux.
navigateur chrome --enable-file-cookies
C'est la même chose pour le chrome
J'espère que cela vous aidera!