这与我的其他question有关,我问了一个新问题,因为我已经缩小了这个问题,原来的问题变得相当复杂。
简而言之,我有一个拒绝删除的cookie!
我的服务器设置了Cookie“ session = abc; domain = example.com; path = /; ”
我想编辑这个cookie客户端,所以我想把abc更改为xyz然后运行以下代码
"session=abc; domain=example.com; path=/;"
"session=xyz; domain=.example.com; path=/;"
现在,当我检查cookie时,我实际上现在有以下两个cookie(注意前导点):
document.cookie = 'session=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
我很快放弃了尝试强制我的新Cookie删除点,而是在设置新Cookie之前选择删除现有Cookie。
但是,这个:
document.cookie = 'session=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=example.com;';
和此:
{{1}}
两者都做不了什么
当我甚至无法让域名匹配时,我该如何删除cookie呢?
NB
在写这个问题时,事情变得更复杂了!我刚刚注意到上述行为只发生在特定页面上,如果我试图从另一个页面删除服务器的cookie,它会毫不费力地消失
侮辱伤害 这实际上在IE / Edge
中按预期工作答案 0 :(得分:1)
答案 1 :(得分:0)
使用jQuery cookie库而不是直接访问document.cookie https://plugins.jquery.com/cookie/
然后就像jQuery.cookie('session','xyz',{ path: '/' });
答案 2 :(得分:0)
通过完全删除域名解决了这个问题!
document.cookie = 'session=xyz; path=/; domain=;";
希望这有助于其他人,因为这是诊断的绝对婊子
修改强>
所以在命运的残酷扭曲中,这确实解决了chrome和firefox的问题,但你猜对了 - IE / Edge现在把玩具扔出婴儿车!
我放弃了