Le code suivant fonctionne bien en FF:
var date = new Date();
date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
document.cookie = "c_odi" + "=" + $('#orderdetailid').val() + expires + "; path=/";
Mais pas dans Chrome. Lorsque j'utilise Chrome et que je code document.cookie
dans la console pour afficher les cookies, le cookie c_odi
n'existe pas. Mais quand je fais la même chose en FF, ça l'est. Comment pouvons-nous utiliser les cookies dans Chrome? Les cookies qui ont été ajoutés par PHP sont corrects, mais pas celui-ci en JavaScript. Je dois ajouter ce cookie via JavaScript à ce stade.
Ce problème peut se produire si vous ouvrez votre code en tant que file:///C:/.../xxx.html
au lieu de http:// localhost/xxx.html
. Chrome n'enregistre pas les cookies (car il n'y a ni domaine ni communication http) dans le cas file://
.
Peu de liens d'intérêt:
On dirait que ça marche pour moi:
Au moins, le cookie apparaît dans les outils de développement, comme vous pouvez le voir. Cependant, j'ai remplacé le sélecteur jQuery $('#orderdetailid').val()
par une valeur constante, comme vous pouvez le constater. Y at-il quelque chose qui cloche avec cette valeur ou l'élément contenant la valeur peut-être?
Essayez de remplacer cette ligne:
document.cookie = "c_odi" + "=" + $('#orderdetailid').val() + expires + "; path=/";
avec celui-ci:
document.cookie = "c_odi" + "=" + escape($('#orderdetailid').val()) + expires + "; path=/";
Vous devez utiliser unescape
lorsque vous essayez de lire la valeur, mais vous garderez le contrôle quand le temps viendra :)
Assurez-vous que l'URL de la barre d'adresse correspond au domaine. Dans Chrome, si vous définissez domaine = www.site.com, puis testez votre page dans le navigateur, il vous manque le site www. ça ne marchera pas.
Chrome ne stocke pas les cookies des pages chargées du système de fichiers local. Par exemple, si vous accédez à un fichier HTML dans Chrome Browser à partir du système de fichiers local (ex: fichier: /// C: /Users/deepak.r/Desktop/test.html), les cookies ne sont pas supportés.