Chrome中奇怪的document.cookie行为[重复]
Posted
技术标签:
【中文标题】Chrome中奇怪的document.cookie行为[重复]【英文标题】:Weird document.cookie behaviour in Chrome [duplicate] 【发布时间】:2017-10-03 04:28:03 【问题描述】:最近我遇到了这个奇怪的问题。
cookie 应该使用document.cookie = "key=value"
设置。但是,当我以这种方式设置 cookie 时,会遇到这种意外行为:
如您所见,当您将 document.cookie
分配给任何内容时,它都会附加到 cookie 本身的末尾。根本没有办法删除所有的cookies!
Chrome 似乎没有设置 cookie 值,而是以类似的方式将其附加到末尾:
var cookie;
function foo(bar)
cookie += "; " + bar;
为什么会这样?如您所见,它不是本地文件,我在 *** 网站上使用过(当然注销了)
【问题讨论】:
这是记录在案的行为:developer.mozilla.org/en-US/docs/Web/API/Document/cookie 【参考方案1】:是的,您所描述的是添加 cookie 的正确方法。
要删除一个cookie,你需要将它的过期时间设置为过去:
document.cookie = key+ '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
【讨论】:
我想知道为什么这个非常奇怪和重新启动的 API 是这样的?这是在 Javacript 有对象之前发明的吗? 看看 JS 的历史,以及它的灵感是什么。你可以说它从未有过物体,这是非常值得怀疑的。更有可能的是,DOM 的创建者……至少可以说是不一致的。我很想知道是哪个浏览器引入了 cookie,因为它可能是刚刚添加功能的竞争对手之一。以上是关于Chrome中奇怪的document.cookie行为[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Chrome开发者工具中奇怪的console.log行为[重复]
使用标准 VS 2010 模板的 chrome 中奇怪的额外填充