簡體   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