Wie setze und deaktiviere ich ein Cookie mit jQuery, erstelle ich beispielsweise ein Cookie mit dem Namen test
und setze den Wert auf 1
?
quelle
Wie setze und deaktiviere ich ein Cookie mit jQuery, erstelle ich beispielsweise ein Cookie mit dem Namen test
und setze den Wert auf 1
?
Update April 2019
jQuery wird zum Lesen / Bearbeiten von Cookies nicht benötigt. Verwenden Sie daher nicht die ursprüngliche Antwort unten.
Gehen Sie stattdessen zu https://github.com/js-cookie/js-cookie und verwenden Sie dort die Bibliothek, die nicht von jQuery abhängt.
Grundlegende Beispiele:
// Set a cookie
Cookies.set('name', 'value');
// Read the cookie
Cookies.get('name') => // => 'value'
Weitere Informationen finden Sie in den Dokumenten auf Github.
Siehe das Plugin:
https://github.com/carhartl/jquery-cookie
Sie können dann tun:
$.cookie("test", 1);
Löschen:
$.removeCookie("test");
So legen Sie eine Zeitüberschreitung für eine bestimmte Anzahl von Tagen (hier 10) für das Cookie fest:
$.cookie("test", 1, { expires : 10 });
Wenn die Option "Abläuft" weggelassen wird, wird das Cookie zu einem Sitzungscookie und wird beim Beenden des Browsers gelöscht.
So decken Sie alle Optionen ab:
$.cookie("test", 1, {
expires : 10, // Expires in 10 days
path : '/', // The value of the path attribute of the cookie
// (Default: path of page that created the cookie).
domain : 'jquery.com', // The value of the domain attribute of the cookie
// (Default: domain of page that created the cookie).
secure : true // If set to true the secure attribute of the cookie
// will be set and the cookie transmission will
// require a secure protocol (defaults to false).
});
So lesen Sie den Wert des Cookies zurück:
var cookieValue = $.cookie("test");
Möglicherweise möchten Sie den Pfadparameter angeben, wenn das Cookie auf einem anderen als dem aktuellen Pfad erstellt wurde:
var cookieValue = $.cookie("test", { path: '/foo' });
UPDATE (April 2015):
Wie in den Kommentaren unten angegeben, hat das Team, das am ursprünglichen Plugin gearbeitet hat, die jQuery-Abhängigkeit in einem neuen Projekt ( https://github.com/js-cookie/js-cookie ) entfernt, das dieselbe Funktionalität und allgemeine Syntax wie hat die jQuery-Version. Anscheinend geht das ursprüngliche Plugin nirgendwo hin.
$.removeCookie('nameofcookie', { path: '/' });
Es ist nicht erforderlich, jQuery speziell zum Bearbeiten von Cookies zu verwenden.
Aus QuirksMode (einschließlich Escapezeichen )
Schau es dir an
quelle
Sie können die Cookies wie folgt setzen
Sie können die Cookies wie erhalten
Und schließlich können Sie die Cookies wie dieses löschen
Hoffe es hilft jemandem :)
BEARBEITEN:
Wenn Sie das Cookie auf den gesamten Pfad / die Seite / das Verzeichnis setzen möchten, setzen Sie das Pfadattribut auf das Cookie
Danke, Vicky
quelle
é
,北
usw. Auch ist dies nicht für einige Sonderzeichen zur Arbeit zu gehen , die in den Cookie-Namen oder die Cookie-Wert ist nicht erlaubt. Ich empfehle die folgende Referenz: tools.ietf.org/html/rfc6265Sie können ein hier verfügbares Plugin verwenden.
https://plugins.jquery.com/cookie/
und dann einen Cookie schreiben
$.cookie("test", 1);
um auf das gesetzte Cookie zuzugreifen, tun Sie
$.cookie("test");
quelle
Hier ist mein globales Modul, das ich benutze -
quelle
Stellen Sie sicher, dass Sie so etwas nicht tun:
Wenn das Cookie dann nicht vorhanden ist, gibt der Debugger eine nicht hilfreiche Nachricht wie ".cookie not a function" zurück.
Immer deklarieren und dann die Aufteilung durchführen, nachdem auf Null geprüft wurde. So was:
quelle
}
oder fehlen mehrere Codezeilen?So setzen Sie das Cookie mit JavaScript:
Der folgende Code wurde von https://www.w3schools.com/js/js_cookies.asp übernommen
Jetzt können Sie den Cookie mit der folgenden Funktion erhalten:
Und schließlich überprüfen Sie den Cookie folgendermaßen:
Wenn Sie das Cookie löschen möchten, setzen Sie den Parameter expires einfach auf ein übergebenes Datum:
quelle
Ein einfaches Beispiel für das Setzen von Cookies in Ihrem Browser:
Einfach kopieren / einfügen und diesen Code zum Setzen Ihres Cookies verwenden.
quelle
jquery-1.9.0.min.js
wird es für alle neu geladen, wenn der Dateiname aktualisiertjquery-1.9.1.min.js
wird. Andernfalls fordert der Browser den Server NICHT auf, nach aktualisierten Inhalten zu suchen. Wenn Sie den Code im Inneren aktualisieren,jquery.cookie.js
ohne den Dateinamen zu ändern, wird er möglicherweise NICHT in Browsern neu geladen, die diejquery.cookie.js
Ressource bereits zwischengespeichert haben .jquery.cookie.js
Version aktualisieren, ohne den Dateinamen zu ändern (es sei denn, Ihr Server befasst sich mit dem Caching mithilfe von E-Tags).Sie können die Bibliothek auf der Mozilla-Website hier verwenden
Sie können solche Cookies setzen und erhalten
quelle
Ich denke, Fresher hat uns einen guten Weg gegeben, aber es gibt einen Fehler:
Sie sollten "Wert" in der Nähe von getTime () hinzufügen. Andernfalls läuft der Cookie sofort ab :)
quelle
Ich dachte, Vignesh Pichamanis Antwort sei die einfachste und sauberste. Fügen Sie ihm einfach die Möglichkeit hinzu, die Anzahl der Tage vor Ablauf festzulegen:
BEARBEITEN: Außerdem wurde die Option "Nie läuft ab" hinzugefügt, wenn keine Tagesnummer festgelegt ist
Setzen Sie den Cookie:
quelle
Ich weiß, dass es viele gute Antworten gibt. Oft muss ich nur Cookies lesen und möchte keinen Overhead erzeugen, indem ich zusätzliche Bibliotheken lade oder Funktionen definiere.
Hier erfahren Sie, wie Sie Cookies in einer Zeile Javascript lesen . Ich fand die Antwort in Guilherme Rodrigues 'Blog-Artikel :
Dies liest den Cookie namens
key
, nett, sauber und einfach.quelle
quelle