Chciałbym założyć plik cookie, który nigdy nie wygasa. Czy to w ogóle byłoby możliwe?
document.cookie = "name=value; expires=date; path=path;domain=domain; secure";
Nie chcę, aby data była naprawdę duża, po prostu zastanawiam się, czy w pliku cookie była wartość parametru expires, która mówi, że nigdy nie wygasa.
Dzięki.
javascript
cookies
Jose Vega
źródło
źródło
Odpowiedzi:
Nie. Nie da się zrobić. `` Sposób '' na to polega po prostu na ustawieniu daty wygaśnięcia na 2030.
źródło
Nie ma składni tego, czego chcesz. Brak ustawienia wygasa powoduje wygaśnięcie pliku cookie po zakończeniu sesji. Jedyną opcją jest wybranie dowolnej dowolnej dużej wartości. Należy pamiętać, że niektóre przeglądarki mają problemy z datami po 2038 roku (kiedy czas epoki unixa przekracza 32-bitową liczbę int).
źródło
Expires
lubMax-Age
jest plikiem cookie sesji: jest usuwany, gdy klient zamyka się. Jednak przeglądarki internetowe mogą korzystać z przywracania sesji , co powoduje, że większość plików cookie sesji jest trwała, tak jakby przeglądarka nigdy nie została zamknięta. ( źródło: MDN )Możesz to zrobić jako przykład w dokumentach Mozilli :
PS
Oczywiście będzie problem, jeśli ludzkość nadal będzie używać twojego kodu w pierwszej minucie roku 10000 :)
źródło
Wszystkie pliki cookie wygasają zgodnie ze specyfikacją plików cookie , maksymalna wartość, jaką można ustawić, to
Tak więc maksymalny czas życia plików cookie to
źródło
document.cookie = 'subscripted_24=true; expires=' + new Date(2147483647 * 1000).toUTCString();
Możesz ustawić plik cookie z datą wygaśnięcia miesiąca lub coś podobnego, a następnie ponownie przypisać plik cookie za każdym razem, gdy użytkownik ponownie odwiedza witrynę
źródło
Jeśli nie ustawisz daty wygaśnięcia, plik cookie wygaśnie po zakończeniu sesji użytkownika. Zalecam użycie daty tuż przed wydłużeniem czasu epoki unixowej przekazanej 32-bitowej liczby całkowitej. Aby umieścić to w pliku cookie, którego używałbyś
document.cookie = "randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;
, zakładając, żerandomCookie
jest to plik cookie, który ustawiasz itrue
czy ma odpowiednią wartość.źródło
PO PROSTU NIE MOŻESZ . Nie ma dokładnego kodu do ustawienia wiecznego pliku cookie, ale wystarczy stara sztuczka, na przykład
current time + 10 years
.Tylko uwaga, że wszelkie późniejsze daty
January 2038
skazują Cię na pliki cookie ( 32-bitowe int ), zostaną natychmiast usunięte. Życzę cudu, który zostanie naprawiony w najbliższej przyszłości. Dla 64-bitowego int , lata wokół2110
będą bezpieczne. Z biegiem czasu oprogramowanie i sprzęt będą się zmieniać i mogą nigdy nie dostosować się do starszych (tych, które mamy teraz), więc przygotuj teraz na przyszłość .źródło
Jeśli zamierzasz odczytywać dane tylko po stronie klienta, możesz skorzystać z pamięci lokalnej. Jest usuwany dopiero po wyczyszczeniu pamięci podręcznej przeglądarki.
źródło
Możesz sprawić, by plik cookie nigdy się nie kończył, ustawiając go na dowolną datę plus jeden więcej niż bieżący rok w następujący sposób:
źródło