在JavaScript中删除cookie的方法是将过期日期设置为过去。但至少在Firefox浏览器中,这并不会真正删除cookie。它只是意味着cookie将在浏览器关闭时被删除。
对我们来说,这是一个问题:我们有一个产品涉及归档来自潜在的许多站点的网页,并将所有内容存储在我们的服务器上。为了确保页面正确呈现,我们包括所有JS。然而,通常由JS设置Cookie,在我们的域下缓存的页面会在我们的域下设置这些Cookie。
因此,随着时间的推移,来自数十个已归档站点的Cookie在我们的域下累积。最终,Cookie头超过最大内容长度,导致HTTP 400错误代码。
因为我们的客户大多处于企业环境中,他们从不重新启动计算机或关闭浏览器:它们可能运行数月之久。因此,这种"软件"删除不起作用,至少不可靠。
是否有任何物理方式在JavaScript中删除Cookie?或者,是否有任何方法可以阻止它们被设置?