2015-03-02 33 views
2

我使用此JavaScript代碼,但它只會返回特定頁面的Cookie。我想清除瀏覽器的所有Cookie使用javascript刪除瀏覽器的所有Cookie

function deleteAllCookies() { 
    var cookies = document.cookie.split(";"); 
    for (var i = 0; i < cookies.length; i++) { 
     var cookie = cookies[i]; 
     var eqPos = cookie.indexOf("="); 
     var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; 
     document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; 
    } 
}; 
+1

看看這個http://stackoverflow.com/questions/595228/how-can-i-delete-all-cookies-with-javascript?rq=1 – 2015-03-02 07:25:50

+0

我已經使用它,但它也返回相同 – 2015-03-02 07:27:47

+0

你可以只刪除由JavaScript創建的Cookie - 如果cookie是由服務器創建的,則不能通過JavaScript刪除它。您需要知道cookie的名稱,路徑和域名,然後只有您可以可靠地刪除cookie – 2015-03-02 07:27:51

回答

1

您無法通過Javascript刪除來自您當前所在頁面之外的其他域的Cookie。這是一個瀏覽器安全功能。而且,如果Cookie被標記爲特定路徑,則只能從該特定路徑上的頁面(甚至是來自同一個域)訪問它。

而且,對於標記爲HttpOnly的cookies(例如,服務器端只訪問Cookie),您甚至不能通過javascript將自己的域名刪除。

清除所有Cookie的唯一方法是讓您(用戶)使用瀏覽器的用戶界面刪除Cookie或配置瀏覽器在關閉瀏覽器時自動清除Cookie。

+0

一些網站那裏的Facebook登錄選項是可用的那些網站上,我們使用該選項進行登錄,並從Facebook和特定網站註銷後,我們可以再次通過不同用戶的Facebook登錄..我們如何保持這一點 – 2015-03-02 08:42:11

相關問題