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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/js/152269.html

猜你在找的JavaScript相关文章