javascript - 自定义 cookie 无法通过导航持久保存

标签 javascript cookies google-tag-manager event-tracking

我设置了一个以流量引荐来源网址作为值的 cookie。 仅当访问来自引用者时才应创建 cookie,并且该 cookie 在整个 session 中保持不变(1 小时后过期)。

但是,cookie 在每次新的页面 View 中都会发生变化。

  1. 来自 Google 的传入流量 > Cookie 值 =“google.com”
  2. 网站上的新页面 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/

相关文章:

ajax - 通过 HTTPS 的 HTTP Cookie 和 Ajax 请求

cookies - 子域上的第三方代码

ruby-on-rails - 如何手动解密 Rails 5 session cookie?

javascript - Google 标签管理器 - 获取 javascript 变量中元素的父级

javascript - maxLines 选项是否不适用于底部 Stacked Bar Google Chart 上的图例?

javascript - 使用javascript获取xml中的元素

google-analytics - Google 跟踪代码管理器 : gtm. dom 和 gtm.load 丢失

google-analytics - 除了 Google 标签管理器之外,还执行 Google Analytics 功能

javascript - url 哈希更改成功 - 在 Angular 指令中

javascript - angular 2 如何从订阅返回数据