San*_*505 6 javascript browser cookies
我使用以下代码在Javascript中设置cookie:
setCookie('cart_items','product_name');
function setCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
Run Code Online (Sandbox Code Playgroud)
但是Chrome路径中的cookie路径未设置为root(/).相反,它被设置为从执行网页的路径!!
我用IE和FF测试过.它适用于这两种浏览器....
Chrome可能有什么问题,或者我正在使用的cookie创建代码存在问题?
在Chrome中(16.0.912.63)
路径:/ xxxxxxxx/xxxxxxx
在FF(6.0)
路径:/
在IE中(9)
路径:/
发生这种情况的原因是因为chrome默认情况下不允许在本地文件上设置cookie.有关详细信息,请参阅此答案:https://stackoverflow.com/a/347997/1324019(来自答案的文字)
Chrome不支持本地文件的Cookie(或者像Peter Lyons所提到的,localhost*),除非您使用--enable-file-cookies标志启动它.您可以在http://code.google.com/p/chromium/issues/detail?id=535上阅读有关该讨论的讨论.
*如果您直接使用本地IP地址(127.0.0.1),Chrome 会支持Cookie.所以在localhost的情况下,这可能是一个更容易的解决方法.