繁体   English   中英

为什么 document.cookie 不起作用

[英]Why document.cookie is not working

  var curCookie = name + "=" + value +
    "; expires=" + ATS_getExpire()  +
    "; path=" + path  +
    "; domain=" + domain  ;     
document.cookie = curCookie;
alert("Your Cookie : " + document.cookie);

当我使用上面的代码时,警报消息为空。 为什么 document.cookie 是空的。 请任何人回答。

请参阅此处以获取实时示例

你正在使用; 而不是, .

使用,来区分您的 cookie 值

var curCookie = name + "=" + value + 
    ", expires=" + ATS_getExpire() + 
    ", path=" + path + 
    ", domain=" + domain;

document.cookie = curCookie;
alert("Your Cookie : " + document.cookie);

更新

截至今天(2021-08-25),现场示例在浏览器中并不一致:

  • 铬 92.0.4515.159:❌
  • 边缘 92.0.902.78:❌
  • 歌剧 77.0.4054.277:❌
  • Firefox 91.0.2:✅

我发现......令人沮丧的是,在浏览器中本地运行页面时,document.cookie 不起作用。

当我将同一页面上传到网站时,突然间所有 cookie 值都正常工作。 我会找出原因,稍后填写此答案的 rest。

有时,如果页面托管在公共后缀列表中列出的域上(例如 github.io,cloudfront.net),则可能会发生这种情况。 这些域由浏览器特殊处理,出于安全原因限制写入 cookies。

尝试使用 jQuery Cookie 插件:

jQuery Cookie 插件

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM