我设置了一个以流量引荐来源网址作为值的 cookie。 仅当访问来自引用者时才应创建 cookie,并且该 cookie 在整个 session 中保持不变(1 小时后过期)。
但是,cookie 在每次新的页面 View 中都会发生变化。
- 来自 Google 的传入流量 > Cookie 值 =“google.com”
- 网站上的新页面 View > Cookie 值 =“my-site.com”
创建的 cookie 不是应该保持持久直到过期时间吗?
这是创建 cookie 的代码:
document.cookie = "Referrer="+{{Referrer Domain}}+"; max-age=86400; path=/"
如果页面引荐来源网址与“my-site.com”不同,则会触发该事件。
注意:
使用 Chrome 控制台> 应用程序,我注意到所有 Cookie 均设置在域“my-site.com”上, 我创建的 cookie 设置在域“www.my-site.com”上。 因此,我想通过在根域上设置 cookie 域,它将正确地持续存在......
如何精确设置cookie的域?
最佳答案
我通过手动添加cookie域解决了这个问题:
document.cookie = "Referrer="+{{Referrer Domain}}+"; max-age=86400; path=/; domain=my-site.com"
此外,cookie 在每个页面 View 上都会重置...所以我添加了一个标签来首先检查 cookie 是否已经存在:
document.cookie.includes("Referrer")
如果返回“false”,则 cookie 已创建。
关于javascript - 自定义 cookie 无法通过导航持久保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55181920/