js怎样修改cookie的domain

最开始使用www.test.com设置cookie的domain:

document.cookie = "example=1; expires=Mon, 11 Nov 2026 07:34:46 GMT; domain=www.test.com;path=/"

现在更改js将cookie的domain设置为test.com:

document.cookie = "example=2; expires=Mon, 11 Nov 2026 07:34:46 GMT; domain=test.com;path=/"

但是此时在页面中调取document.cookie时会出现两个example值:

"example=1; example=2"

问题:
1.请问如何取到使用新的domain设置的cookie值?
2.请问如何删除原来的cookie?

ps:
1.所有的页面都是用这一个js。
2.原来设置的cookie的域是带子域的,如a.test.com、b.test.com,且子域的数量比较多。所以个人认为通过遍历为对应要删除的cookie设置过期时间是不效率的的。
3.不知道是否有办法判断出cookie对应的domain?
4.请尽量给出前端的解决办法

阅读 22.2k
1 个回答

要想删除一个cookie,需要使用相同的名字,路径和域随便指定一个值,然后将max-age设置为0,马上过期

document.cookie="example=1; max-age=0; domain=www.test.com;path=/"

这样就删除了这个cookie,要想改变cookie,也是一样的,必须保证路径和域相同,改变对应的name的值就行
现在再去使用新的cookie

document.cookie = "example=2; expires=Mon, 11 Nov 2026 07:34:46 GMT; domain=test.com;path=/"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏