首页 > 解决方案 > Cookies 在新的密钥插入时被驱逐

问题描述

有一些cookie,如语言、市场等。这对于网站的某些功能是必不可少的。

最近我观察到,在导航时,所有 cookie 都被清除,导致应用程序中断。

在应用程序中,我们正在使用一些分析库,它们在我们的应用程序的同一域中创建大量 cookie。我可以看到,一旦 cookie 数量接近 40,所有旧 cookie 都会被驱逐(cookie 大小和浏览器数量有限制)。

有没有办法告诉浏览器不要清除那些必要的 cookie?

更新:找到了它的根本原因,它是分析库 (GTM),开发人员在其中创建了一些用于跟踪目的的 cookie。已经要求他们转移到会话存储,现在它工作正常。

标签: javascriptgoogle-chromecookies

解决方案


不幸的是,跨浏览器的行为是不可预测的。

您可以尝试的一种解决方案是在添加/编辑 cookie 之前检查当前 cookie 大小是否超出限制。获取 cookie 大小的信息:获取给定标题的网站的总 cookie 大小

大多数浏览器将每个域的 cookie 限制为大约 4096 字节(或 4kB) - 或最多 50 个 cookie,具体取决于每个 cookie 的大小。


推荐阅读