Cookie的JavaScript代码无法在Chrome中运行

时间:2013-03-13 12:40:20

标签: javascript google-chrome cookies

以下代码在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。

5 个答案:

答案 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)

好像它对我有用:

enter image description here

http://jsfiddle.net/rQEnF/3/

正如您所看到的,至少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。