微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如果document.cookie是一个字符串,为什么document.cookie =“”删除所有相关网站的cookies?

我认为知道这个答案将有助于我概念化浏览器存储的cookie和通过DOM提供的document.cookie之间的关系.

解决方法

document.cookie的行为不正常.浏览器处理对于读取和写入document.cookie的调用,与大多数对对象属性调用不同.

设置document.cookie不会设置整个cookie字符串.相反,它会添加Cookie.例如:

alert(document.cookie); // The existing cookie string is "foo=bar; spam=eggs"
document.cookie = "hello=world; lol=cats";
alert(document.cookie); // The cookie string might Now say "foo=bar; spam=eggs; hello=world; lol=cats"

虽然Cookie的顺序可能会有所不同,但片段仍然说明了这一点.设置document.cookie设置指定的cookie,但不会因为新字符串中没有提到cookie而删除cookie.犯错误太容易了

当然,我不完全确定为什么API是这样构建的.我怀疑如果我们今天写的cookie API可能会有所不同,实际上会有读,写,删除功能.但是,这是我们所拥有的.

原文地址:https://www.jb51.cc/js/152269.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐