Jak ustawić i rozbroić plik cookie za pomocą jQuery, na przykład utworzyć plik cookie o nazwie test
i ustawić wartość na 1
?
źródło
Jak ustawić i rozbroić plik cookie za pomocą jQuery, na przykład utworzyć plik cookie o nazwie test
i ustawić wartość na 1
?
Aktualizacja kwietnia 2019 r
jQuery nie jest potrzebny do odczytu / manipulacji ciasteczkami, więc nie używaj oryginalnej odpowiedzi poniżej.
Przejdź na https://github.com/js-cookie/js-cookie i użyj tam biblioteki, która nie zależy od jQuery.
Podstawowe przykłady:
// Set a cookie
Cookies.set('name', 'value');
// Read the cookie
Cookies.get('name') => // => 'value'
Szczegółowe informacje można znaleźć w dokumentacji na github.
Zobacz wtyczkę:
https://github.com/carhartl/jquery-cookie
Następnie możesz wykonać:
$.cookie("test", 1);
Usunąć:
$.removeCookie("test");
Ponadto, aby ustawić limit czasu dla określonego pliku cookie (tutaj 10):
$.cookie("test", 1, { expires : 10 });
Jeśli opcja wygasania zostanie pominięta, plik cookie staje się plikiem cookie sesji i jest usuwany po zamknięciu przeglądarki.
Aby uwzględnić wszystkie opcje:
$.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).
});
Aby odczytać wartość pliku cookie:
var cookieValue = $.cookie("test");
Możesz określić parametr ścieżki, jeśli plik cookie został utworzony inną ścieżką niż bieżąca:
var cookieValue = $.cookie("test", { path: '/foo' });
AKTUALIZACJA (kwiecień 2015):
Jak stwierdzono w komentarzach poniżej, zespół, który pracował nad oryginalną wtyczką, usunął zależność jQuery w nowym projekcie ( https://github.com/js-cookie/js-cookie ), który ma taką samą funkcjonalność i ogólną składnię jak wersja jQuery. Najwyraźniej oryginalna wtyczka nigdzie się nie wybiera.
$.removeCookie('nameofcookie', { path: '/' });
Nie ma potrzeby używania jQuery szczególnie do manipulowania plikami cookie.
From QuirksMode (w tym znaki ucieczki)
Spojrzeć na
źródło
Możesz ustawić pliki cookie tak jak
Możesz dostać ciasteczka jak chcesz
I w końcu możesz usunąć takie pliki cookie
Mam nadzieję, że to komuś pomoże :)
EDYTOWAĆ:
Jeśli chcesz ustawić plik cookie na cały katalog ścieżka / strona /, ustaw atrybut ścieżki do pliku cookie
Dzięki, Vicky
źródło
é
,北
itd Również, to nie będzie działać dla niektórych znaków specjalnych, które nie są dozwolone w cookies-ciasteczka nazwy lub wartości. Polecam następujące odniesienie: tools.ietf.org/html/rfc6265Możesz użyć wtyczki dostępnej tutaj ..
https://plugins.jquery.com/cookie/
a następnie napisać ciasteczko zrobić
$.cookie("test", 1);
aby uzyskać dostęp do ustawionego pliku cookie wykonaj
$.cookie("test");
źródło
Oto mój globalny moduł, którego używam -
źródło
Pamiętaj, aby nie robić czegoś takiego:
Następnie, jeśli plik cookie nie istnieje, debuger zwróci jakąś nieprzydatną wiadomość, taką jak „.cookie not a function”.
Zawsze najpierw deklaruj, a następnie dokonaj podziału po sprawdzeniu wartości null. Lubię to:
źródło
}
brakuje tylko jednego , czy brakuje kilku linii kodu?Oto jak ustawić plik cookie za pomocą JavaScript:
poniższy kod pochodzi z https://www.w3schools.com/js/js_cookies.asp
teraz możesz uzyskać plik cookie z poniższą funkcją:
I w ten sposób sprawdzasz ciasteczko:
Jeśli chcesz usunąć plik cookie, po prostu ustaw parametr expires na minięty termin:
źródło
Prosty przykład ustawienia pliku cookie w przeglądarce:
Wystarczy skopiować / wkleić i użyć tego kodu do ustawienia pliku cookie.
źródło
jquery-1.9.0.min.js
zostanie ponownie załadowany dla wszystkich, gdy nazwa pliku zostanie zaktualizowanajquery-1.9.1.min.js
, w przeciwnym razie przeglądarka wcale NIE wysyła żądania do serwera w celu sprawdzenia zaktualizowanej zawartości. Jeśli zaktualizujesz kod wewnątrzjquery.cookie.js
bez zmiany jego nazwy pliku, NIE MOŻNA go ponownie załadować w przeglądarkach, które już buforowałyjquery.cookie.js
zasób.jquery.cookie.js
wersję bez zmiany nazwy pliku (chyba że twój serwer zajmuje się buforowaniem przy użyciu E-tagów).Możesz skorzystać z biblioteki na stronie Mozilli tutaj
Będziesz mógł ustawić i uzyskać takie pliki cookie
źródło
Myślę, że Fresher dał nam dobry sposób, ale jest błąd:
Powinieneś dodać „wartość” w pobliżu getTime (); w przeciwnym razie plik cookie wygaśnie natychmiast :)
źródło
Myślałem Vignesh Pichamani była najprostsza i najczystsza. Właśnie dodając do jego możliwości ustawienia liczby dni przed datą wygaśnięcia:
EDYCJA: dodano także opcję „nigdy nie wygasa”, jeśli nie ustawiono numeru dnia
Ustaw ciasteczko:
źródło
Wiem, że jest wiele świetnych odpowiedzi. Często muszę tylko czytać pliki cookie i nie chcę tworzyć kosztów ogólnych poprzez ładowanie dodatkowych bibliotek lub definiowanie funkcji.
Oto jak czytać pliki cookie w jednym wierszu javascript . Odpowiedź znalazłem w artykule na blogu Guilherme Rodrigues :
Odczytuje to plik cookie o nazwie
key
, ładny, czysty i prosty.źródło
źródło