Jak mogę utworzyć i odczytać wartość z pliku cookie w JavaScript?
javascript
cookies
Venkatesh Appala
źródło
źródło
Odpowiedzi:
Oto funkcje, których możesz użyć do tworzenia i pobierania plików cookie.
źródło
Minimalistyczne iw pełni funkcjonalne podejście ES6:
źródło
toGMTString()
jest przestarzałe, użyjtoUTCString()
zamiast niego.=
znak. W takim przypadku funkcjagetCookie
wygeneruje nieoczekiwany wynik. Aby tego uniknąć, rozważ użycie następującej funkcji funkcji strzałki wewnątrz redukujconst [n, ...val] = v.split('='); return n === name ? decodeURIComponent(val.join('=')) : r
864e5 = 86400000 = 1000*60*60*24
oznacza liczbę milisekund w ciągu 24 godzin.Pliki cookie JQuery
lub zwykły Javascript:
źródło
Mozilla zapewnia prostą platformę do odczytu i zapisu plików cookie z pełną obsługą Unicode wraz z przykładami jej użycia.
Po umieszczeniu na stronie możesz ustawić plik cookie:
przeczytaj ciasteczko:
lub usuń plik cookie:
Na przykład:
Zobacz więcej przykładów i szczegółów na stronie document.cookie Mozilli .
Wersja tego prostego pliku js znajduje się na github .
źródło
ES7, używając wyrażenia regularnego dla get (). Na podstawie MDN
Użycie - Cookie.get (nazwa, wartość [, opcje]):
opcje obsługuje wszystkie standardowe opcje plików cookie i dodaje „dni”:
Alternatywne sposoby ustawiania daty ważności:
Bieżącą datę można uzyskać za pomocą: nowej daty (Date.now ()). ToUTCString ()
Inne odpowiedzi używają „wygasa” zamiast „maksymalnego wieku” do obsługi starszych wersji IE. Ta metoda wymaga ES7, więc IE7 i tak nie działa (to nie jest wielka sprawa).
Uwaga: Zabawne znaki, takie jak „=” i „{:}” są obsługiwane jako wartości plików cookie, a wyrażenie regularne obsługuje początkowe i końcowe białe znaki (z innych bibliotek).
Jeśli chcesz przechowywać obiekty, albo zakoduj je przed i po za pomocą i JSON.stringify i JSON.parse, edytuj powyższe lub dodaj inną metodę. Na przykład:
źródło
Dla tych, którzy potrzebują zapisywać obiekty, takie jak {foo: 'bar'}, udostępniam zredagowaną wersję odpowiedzi @ KevinBurke. Dodałem JSON.stringify i JSON.parse, to wszystko.
Teraz możesz robić takie rzeczy:
źródło
Wielokrotnie korzystałem z akceptowanej odpowiedzi tego wątku. To świetny kawałek kodu: prosty i użyteczny. Ale zwykle używam Babel i ES6 i modułów, więc jeśli jesteś podobny do mnie, oto kod do skopiowania, aby przyspieszyć programowanie w ES6
Zaakceptowana odpowiedź przepisana jako moduł w ES6:
Następnie możesz po prostu zaimportować go jako dowolny moduł (ścieżka może się oczywiście różnić):
źródło
Oto kod do pobierania, ustawiania i usuwania plików cookie w JavaScript .
Źródło: http://mycodingtricks.com/snippets/javascript/javascript-cookies/
źródło
Używam tego obiektu. Wartości są kodowane, dlatego należy wziąć to pod uwagę podczas odczytu lub zapisu ze strony serwera.
źródło
Prosty sposób na odczyt plików cookie w ES6.
źródło
Użyłem js-cookie do sukcesu.
źródło
Możesz użyć mojego modułu ES cookie do pobierania / ustawiania / usuwania plików cookie.
Stosowanie:
W tagu head umieść następujący kod:
lub
Teraz możesz używać window.cookie do przechowywania informacji o użytkowniku na stronach internetowych.
cookie.isEnabled ()
Czy plik cookie jest włączony w Twojej przeglądarce?
Przykład
cookie.set (nazwa, wartość)
Ustaw ciasteczko.
Przykład
cookie.get (name [, defaultValue]);
dostać ciasteczko.
Przykładcookie.remove (nazwa);
Usuń ciasteczko.
PrzykładPrzykład użycia
źródło
Ulepszona wersja readCookie:
Powinno to zepsuć się, gdy tylko znajdziesz wartość swojego pliku cookie i zwrócisz jego wartość. Moim zdaniem bardzo elegancki z podwójnym podziałem.
Zamiennikiem warunku if jest białe wykończenie, aby upewnić się, że pasuje poprawnie
źródło
źródło
Napisałem prosty plik cookie. Posiada trzy funkcje do tworzenia pliku cookie, czytania pliku cookie i usuwania pliku cookie.
źródło
Oto przykład ze wspomnianego w3chools .
źródło
Prosta lektura
źródło
Bezczelny i prosty sposób na odczytanie pliku cookie może wyglądać następująco:
To może być używany, jeśli wiesz, że twój plik cookie zawiera coś takiego:
username="John Doe"; id=123;
. Zauważ, że ciąg potrzebuje cudzysłowów w pliku cookie. Prawdopodobnie nie jest to zalecany sposób, ale działa podczas testowania / uczenia się.źródło