Ich versuche, ein Wert-Cookie zu löschen, das ich nach einem bestimmten Intervall erstellt habe. Sagen wir nach 10 Sekunden, ich möchte, dass der Cookie weg ist

function fullday()
{
    document.getElementById("res").innerHTML="1 day";
    document.cookie="day="+1;
    document.cookie.setMaxAge(0);
}

Dies ist der obige Code. Ich codiere ab und zu in PHP, wenn ich versuche, Cookies aus PHP zu zerstören, funktioniert es einwandfrei, aber ich muss den Wert des Cookies in Javascript übergeben, damit ich jetzt daran festhalte und es nicht zerstören kann.

4
freaky 11 Okt. 2012 im 15:24

4 Antworten

Beste Antwort

Um ein Cookie zu löschen, müssen Sie das Ablaufdatum auf etwas in der Vergangenheit setzen. Eine Funktion, die dies tut, wäre zum Beispiel:

var delete_cookie = function(name) {
    document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
};

Dann löschen Sie einfach ein Cookie mit dem Namen "Cookie".

delete_cookie('cookie');
5
bodi0 11 Okt. 2012 im 11:29

Die erste Frage ist, warum Sie beim Erstellen des Cookies nicht nur die Ablaufzeit des Cookies angegeben haben.

Die zweite Frage ist, wie Sie den Cookie erstellt haben. Über Javascript oder PHP?

Sie können nichts anderes als den Cookie-Wert in Javascript abrufen. Wenn Sie also wissen möchten, wie alt ein Cookie ist, müssen Sie diese Informationen in den Wert einbetten. Wenn das Cookie jedoch über PHP und mit gesetzt ist Bei einer TTL von 10 Sekunden treten Probleme mit der Uhrensynchronisierung auf. Sie müssen Javascript generieren, um das Cookie mit Zeitstempel von der Serverseite aus zu erstellen, anstatt setcookie direkt aufzurufen.

0
symcbean 11 Okt. 2012 im 11:32

Benutze es so

var date1 = new Date();
date1.setTime(date.getTime()+(10*1000));
var expires = "; expires="+date.toGMTString();

document.cookie = "day="+1+expires;

Dadurch läuft der Cookie nach 10 Sekunden ab.

1
Yogesh Suthar 11 Okt. 2012 im 11:41

Geben Sie den Cookie-Namen bei "key" ein.

 _generatePrefix: function()
    {
        return '__session:' + this._id + ':';
    }
  _cookieCache: undefined,
function cookie clear(key)
  {    
    document.cookie = this._generatePrefix() + key + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    delete this._cookieCache[key]
  }

Rufen Sie diese Funktion auf, wenn Sie ein bestimmtes Cookie löschen möchten

Wenn Sie alle Cookies löschen möchten, verwenden Sie diese

   _generatePrefix: function()
    {
        return '__session:' + this._id + ':';
    }
     _cookieCache: undefined, 
     function clearall()
    {
        for (var i in this._cookieCache) {
            document.cookie = this._generatePrefix() + i + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
        }
        this._cookieCache = {};
    }
2
Nilesh patel 11 Okt. 2012 im 11:33