javascript - 自定义 cookie 不通过导航持久化
问题描述
我设置了一个 cookie,将流量引用者作为值。cookie 应该仅在访问来自引用者时才创建,并且在会话中保持不变(在 1 小时后过期)。
但是,cookie 在每次新的页面查看时都会发生变化。
- 来自 Google 的传入流量> cookie 值 = "google.com"
- 站点上的新页面视图> 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 在每次页面浏览时都会重置……所以我添加了一个标签来检查 cookie 是否已经存在:
document.cookie.includes("Referrer")
如果它返回“ false ”,则创建 cookie。
推荐阅读
- webhooks - Event Grid + CloudEvents + Webhooks 如何支持更新 access_token?
- python - 浏览器显示 Python 代码而不是执行它
- php - PHP 致命错误:未捕获的错误:找不到类“Elliptic\EC”
- generics - 具有约束的泛型函数与在 Kotlin 中传递超类型参数
- office365 - 日历访问期间的 MailboxNotHostedInExchangeOnline 错误
- c - 非常昏昏欲睡的分析器将单纯的变量混淆为函数,以及其他问题
- typescript - 出现错误:错误:执行“protractor ./conf.ts --suite homepage”时找不到模块'src/core/configurations/configFunctions
- reactjs - 在按钮上打开相机点击反应原生博览会
- ios - 如果他们不是服务工作者,pwa 是否使用浏览器缓存
- python - 在写入文件之前将内容保存在内存中