繁体   English   中英

无法使用JavaScript删除Cookie?

[英]Cannot delete cookie by using javascript?

我想对所有页面使用一个cookie,并且我也想对所有页面更新此cookie。 它将在布局中用作主题值。

我已经使用javascript方法创建了一个名为主题的cookie;

$.cookie("theme", "skin-blue");

并通过使用检查cookie是否被保存;

document.cookie "theme=skin-blue"

当我想使用它删除cookie时,返回false;

$.removeCookie("theme") false

您能帮我解决问题吗? 无论如何有删除或清除或cookie? 谢谢。

注意:此方法适用于一页,但不适用于所有页面。 在其他页面中,它会以相同的名称创建新的cookie,因此我无法更新相关的cookie。

您可以将Cookie日期设置为过期,例如:

function removeCookie (name) {
    document.cookie = name + '=;expires=Mon, 01 Mar 1980 00:00:01 GMT;';
}

所以只要做removeCookie("theme");

会删除您的主题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/"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM