以下代码在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=/";
但不是Chrome。当我使用Chrome并在控制台中document.cookie
查看Cookie时,c_odi
Cookie不存在。但是当我在FF中做同样的事情的时候。我们如何让Chrome在Chrome中运行? PHP添加的cookie很好,但JavaScript中没有这个,我需要在此时通过JavaScript添加此cookie。
答案 0 :(得分:44)
如果您以file:///C:/.../xxx.html
而不是http:// localhost/xxx.html
打开代码,则可能会出现此问题。 Chrome在file://
案例中不保存Cookie(因为没有域名,也没有http通信)。
很少有感兴趣的链接:
答案 1 :(得分:0)
尝试替换此行:
document.cookie = "c_odi" + "=" + $('#orderdetailid').val() + expires + "; path=/";
这一个:
document.cookie = "c_odi" + "=" + escape($('#orderdetailid').val()) + expires + "; path=/";
当你尝试读取价值时,你必须使用unescape
,但是当时间到来时你会进行管理:)
答案 2 :(得分:0)
好像它对我有用:
正如您所看到的,至少cookie会出现在开发工具中。但是,正如您所看到的,我用常量值替换了jQuery选择器$('#orderdetailid').val()
。该值或包含该值的元素可能有问题吗?
答案 3 :(得分:0)
确保您的地址栏网址与域名匹配。在Chrome中,如果您设置domain = www.site.com,然后在浏览器中测试您的页面,则会错过www。它不会起作用。
答案 4 :(得分:0)
Chrome不会存储从本地文件系统加载的页面中的Cookie。例如,如果您从本地文件系统访问chrome浏览器中的HTML文件(例如:file:/// C:/Users/deepak.r/Desktop/test.html),则不支持cookie。