我想为我的所有页面使用一个 cookie,我也想为所有页面更新这个 cookie。它将在布局中用作主题值。
我使用 javascript 方法创建了一个名为 theme 的 cookie;
$.cookie("theme", "skin-blue");
并通过使用检查cookie是否保存;
document.cookie "theme=skin-blue"
当我想通过使用它来删除 cookie 时返回 false;
$.removeCookie("theme") false
你能帮我解决这个问题吗?反正有删除或清除或cookies吗?谢谢。
注意:此方法适用于一页,但不适用于所有页面。在其他页面中,它会创建同名的新 cookie,因此我无法更新相关的 cookie。
最佳答案
在 JavaScript 中删除 cookie 的标准方法是将 cookie 的值覆盖为空值,并将过期日期覆盖为已通过的日期。
示例:
假设您要删除的 cookie 名为 access_token
。下面一行应该删除 cookie,如果 cookie 的域在同一个域中,那么这应该有效。我们假设 access_token
cookie 在 example.com 域中。
// Deleting access_token cookie with implicit domain.
document.cookie = "access_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC;"
但是,如果 cookie 的域在不同的域或子域中,上面的行将不起作用。让我更准确。这次,我们假设 access_token
cookie 位于 .example.com 子域 (注意 example.com 前面的点)。然后,上面的行应该不起作用,因此 cookie 不会被删除。
解决方案,对于cookie在不同域/子域的情况,则在删除cookie时必须明确指定域/子域名。
// Deleting access_token cookie, with explicit domain/sub-domain
document.cookie = "access_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.example.com/"
关于javascript - 无法使用 javascript 删除 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27917245/