Wie setze und entferne ich ein Cookie mit jQuery, zum Beispiel ein Cookie namens test
und setzen Sie den Wert auf 1
?
Antworten
Zu viele Anzeigen?Wie wird es verwendet?
//To set a cookie
$.cookie('the_cookie', 'the_value');
//Create expiring cookie, 7 days from then:
$.cookie('the_cookie', 'the_value', { expires: 7 });
//Create expiring cookie, valid across entire page:
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
//Read cookie
$.cookie('the_cookie'); // => 'the_value'
$.cookie('not_existing'); // => null
//Delete cookie by passing null as value:
$.cookie('the_cookie', null);
// Creating cookie with all availabl options
$.cookie('myCookie2', 'myValue2', { expires: 7, path: '/', domain: 'example.com',
secure: true, raw: true });
Verfügbare Optionen :
Läuft ab : Definiert die Lebensdauer des Cookies. Der Wert kann eine Zahl (die als Tage ab dem Zeitpunkt der Erstellung interpretiert wird) oder ein Datumsobjekt sein. Wird dieser Wert nicht angegeben, handelt es sich um ein Session-Cookie.
Pfad : Definieren Sie den Pfad, in dem das Cookie gültig ist. Standardmäßig ist der Pfad des Cookies der Pfad der Seite, auf der das Cookie erstellt wurde (Standard-Browserverhalten). Wenn Sie das Cookie z. B. für die gesamte Seite verfügbar machen wollen, verwenden Sie Pfad: '/'.
Domain : Domain der Seite, auf der das Cookie erstellt wurde.
sicher : Voreinstellung: false. Wenn true, erfordert die Cookie-Übertragung ein sicheres Protokoll (https).
roh : Standardmäßig wird das Cookie beim Erstellen/Lesen kodiert/dekodiert, indem encodeURIComponent/ decodeURIComponent verwendet wird. Deaktivieren Sie es durch die Einstellung raw: true.
Um die Anzahl der Operationen im Vergleich zu den vorherigen Antworten zu reduzieren, verwende ich die folgenden.
function setCookie(name, value, expiry) {
let d = new Date();
d.setTime(d.getTime() + (expiry*86400000));
document.cookie = name + "=" + value + ";" + "expires=" + d.toUTCString() + ";path=/";
}
function getCookie(name) {
let cookie = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
return cookie ? cookie[2] : null;
}
function eatCookie(name) {
setCookie(name, "", -1);
}
Ich dachte Vignesh Pichamani Die Antwort war die einfachste und sauberste. Ich füge nur die Möglichkeit hinzu, die Anzahl der Tage vor dem Verfall festzulegen:
EDIT: außerdem wurde die Option 'never expires' hinzugefügt, wenn keine Tageszahl eingestellt ist
function setCookie(key, value, days) {
var expires = new Date();
if (days) {
expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
} else {
document.cookie = key + '=' + value + ';expires=Fri, 30 Dec 9999 23:59:59 GMT;';
}
}
function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}
Setzen Sie das Cookie:
setCookie('myData', 1, 30); // myData=1 for 30 days.
setCookie('myData', 1); // myData=1 'forever' (until the year 9999)
Ich weiß, dass es viele gute Antworten gibt. Oft muss ich nur Cookies lesen und möchte keinen Overhead durch das Laden zusätzlicher Bibliotheken oder die Definition von Funktionen verursachen.
Hier ist wie man Cookies in einer Javascript-Zeile liest . Ich fand die Antwort in Blog-Artikel von Guilherme Rodrigues :
('; '+document.cookie).split('; '+key+'=').pop().split(';').shift()
Dies liest das Cookie mit dem Namen key
, schön, sauber und einfach.