想请问一下 vue 使用 cookie 的问题,domain 是必须设置的选项吗?

如题,虽然这个问题看起来和vue没什么关系,但是还是想请教一下各位前端大佬。

我想用cookie存一些共享信息,使用场景比如每次载入网站的时候,背景固定加载一张随机图片,然后这个图片的地址存在cookie里,如果不关闭浏览器的话再打开新网页背景也都一样。但是如果关闭浏览器重新加载的话背景就会变。

我想问一下关于cookie的domain选项,这个选项是不是必须设置的,因为不设置domain,只设置过期时间、path的话一样能正常使用。我想达到的效果是,比如在a.com设置的cookie,那么b.a.com也能访问,这种情况是需要单独设置domain=a.com,还是不填domain,默认即可?

因为如果需要特别设置的话,需要前端再获取当前domain,相当于多做一些无用逻辑,如果写死的话则很不爽,所以最好是不用填写

需要设置 domain

请问这个domain设置后有什么作用呢

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies#Domain_属性

感谢,这个说明十分简洁清楚。我想达到的效果是包含子域名,所以应该默认设置domain。不过目前仍有一个疑问是,这个域名是否必须写死在前端代码里,如果我的网站当前的网址为www.a.com,那么理论上我应该写;domain=.a.com,但是如果某天我更换网址了,是否要重新到前端代码里改网址呢,有没有一个自动适应的写法,比如domain=/之类的

没有。Domain 的本意就是为了避免泄露。如果允许相对值,那岂不是我做个仿冒站就能获得你的 cookie 内容了?显然不合理。