Saya ingin menyiapkan cookie yang tidak pernah kedaluwarsa. Apakah itu mungkin?
document.cookie = "name=value; expires=date; path=path;domain=domain; secure";
Saya tidak ingin membuat tanggal menjadi sangat besar, saya hanya ingin tahu apakah ada nilai untuk parameter kadaluwarsa pada cookie yang mengatakan tidak pernah kedaluwarsa.
Terima kasih.
javascript
cookies
Jose Vega
sumber
sumber
Jawaban:
Nggak. Tidak bisa dilakukan 'Cara' melakukan itu hanya membuat tanggal kedaluwarsa menjadi seperti 2030.
sumber
Tidak ada sintaks untuk apa yang Anda inginkan. Pengaturan yang tidak kedaluwarsa menyebabkan cookie berakhir pada akhir sesi. Satu-satunya pilihan adalah untuk mengambil nilai yang sewenang-wenang. Perlu diketahui bahwa beberapa browser memiliki masalah dengan tanggal melewati 2038 (ketika waktu unix melebihi int 32-bit).
sumber
Expires
atauMax-Age
arahan adalah cookie sesi: cookie akan dihapus ketika klien dimatikan. Namun, browser web dapat menggunakan pemulihan sesi , yang membuat sebagian besar cookie sesi permanen, seolah-olah browser tidak pernah ditutup. ( sumber: MDN )Anda dapat melakukannya sebagai contoh di Mozilla docs :
PS
Tentu saja, akan ada masalah jika umat manusia masih menggunakan kode Anda pada menit pertama tahun 10000 :)
sumber
Semua cookie kedaluwarsa sesuai spesifikasi cookie , Nilai maksimum yang dapat Anda tetapkan adalah
Jadi, waktu hidup maksimum cookie adalah
sumber
document.cookie = 'subscripted_24=true; expires=' + new Date(2147483647 * 1000).toUTCString();
Anda mungkin dapat menetapkan cookie pada tanggal kedaluwarsa satu bulan atau sesuatu dan kemudian menetapkan kembali cookie setiap kali pengguna mengunjungi situs web lagi
sumber
Jika Anda tidak menetapkan tanggal kedaluwarsa, cookie akan kedaluwarsa pada akhir sesi pengguna. Saya sarankan menggunakan tanggal tepat sebelum waktu unix zaman akan memperpanjang melewati bilangan bulat 32-bit. Untuk memasukkannya ke dalam cookie yang akan Anda gunakan
document.cookie = "randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;
, dengan asumsi iturandomCookie
adalah cookie yang Anda atur dantrue
nilainya masing-masing.sumber
ANDA TIDAK BISA . Tidak ada kode pasti untuk digunakan untuk menetapkan cookie selamanya tetapi trik lama akan berhasil, seperti
current time + 10 years
.Hanya sebuah catatan bahwa setiap tanggal di luar
January 2038
akan menghancurkan Anda untuk cookie ( int 32-bit ) akan dihapus secara instan. Berharap untuk keajaiban bahwa itu akan diperbaiki dalam waktu dekat. Untuk int 64-bit , tahun-tahun di sekitar2110
akan aman. Seiring berjalannya waktu, perangkat lunak dan perangkat keras akan berubah dan mungkin tidak pernah beradaptasi dengan yang lebih lama (hal-hal yang kita miliki sekarang) jadi persiapkan sekarang untuk masa depan .sumber
Jika Anda bermaksud membaca data hanya dari sisi klien, Anda dapat menggunakan penyimpanan lokal. Itu dihapus hanya ketika cache browser dihapus.
sumber
Anda dapat membuat cookie tidak pernah berakhir dengan mengaturnya ke tanggal berapa pun plus satu lebih dari tahun berjalan seperti ini:
sumber