Rumah >hujung hadapan web >tutorial js >Tutorial penggunaan Cookies dalam pengetahuan JavaScript_Basic
Apakah Kuki?
Pelayar web dan pelayan berkomunikasi menggunakan protokol HTTP, dan HTTP ialah protokol tanpa kewarganegaraan. Tetapi untuk laman web komersial ia perlu mengekalkan maklumat sesi antara halaman yang berbeza. Sebagai contoh, selepas melengkapkan berbilang halaman, pendaftaran pengguna tamat. Tetapi bagaimana untuk mengekalkan maklumat sesi untuk semua pengguna web.
Dalam kebanyakan kes, menggunakan kuki ialah cara paling berkesan untuk mengingati dan menjejaki maklumat seperti pilihan, pembelian, komisen dan permintaan untuk pengalaman melawati yang lebih baik atau statistik tapak web.
Bagaimana ia berfungsi?
Pelayan menghantar beberapa data ke penyemak imbas pelawat dalam bentuk kuki. Pelayar ini boleh menerima kuki. Jika ya, ia adalah rekod teks sahaja yang disimpan pada cakera keras untuk pelawat. Kini, apabila pelawat mencapai halaman lain di tapak anda, penyemak imbas menghantar kuki yang sama ke pelayan untuk mendapatkan semula. Setelah diambil semula, pelayan mengetahui/mengingat apa yang baru sahaja disimpan.
Kuki mempunyai rekod data teks biasa dengan 5 medan panjang berubah-ubah:
Kuki pada asalnya direka untuk digunakan dalam pengaturcaraan CGI dan data kuki dipindahkan secara automatik antara penyemak imbas web dan pelayan web, jadi skrip CGI pada pelayan boleh membaca dan menulis kuki yang disimpan pada nilai klien.
JavaScript juga boleh beroperasi menggunakan atribut kuki objek dokumen. JavaScript boleh membaca, mencipta, mengubah suai dan memadam kuki atau kuki yang berkenaan dengan halaman web semasa.
Simpan Kuki:
Cara paling mudah untuk mencipta kuki ialah dengan memberikan nilai rentetan pada objek document.cookie, yang kelihatan seperti ini:
Tatabahasa
document.cookie = "key1=value1;key2=value2;expires=date";
Di sini, tamat tempoh pilihan atribut. Jika atribut ini diberikan tarikh atau masa yang sah, kuki akan tamat tempoh pada tarikh atau masa yang diberikan dan nilai kuki itu kemudiannya tidak boleh diakses.
Nota: Nilai kuki mungkin tidak termasuk koma bertitik, koma atau ruang putih. Atas sebab ini, mungkin perlu menggunakan fungsi escape() JavaScript untuk mengekod nilai yang disimpan sebelum kuki. Jika anda melakukan ini, anda juga mesti menggunakan fungsi unescape() yang sepadan apabila membaca nilai kuki.
Baca Kuki:
Membaca kuki semudah menulis kerana nilai document.cookieobject ialah kuki. Jadi pada bila-bila masa anda ingin mengakses kuki, anda boleh menggunakan rentetan ini.
Dokumen rentetan.cookie akan diteruskan dengan koma bertitik, dengan nama ialah nama kuki dan nilai ialah senarai pasangan nama=nilai yang dipisahkan oleh nilai rentetannya.
Tetapkan tarikh tamat tempoh kuki:
Adalah mungkin untuk memanjangkan hayat kuki melebihi sesi penyemak imbas semasa dengan menetapkan tarikh luput dan tarikh luput dalam kuki yang disimpan. Ini boleh dilakukan dengan menetapkan tarikh dan masa atribut tamat tempoh.
Contoh:
Contoh berikut menunjukkan cara menetapkan kuki untuk tamat tempoh selepas 1 bulan:
<html> <head> <script type="text/javascript"> <!-- function WriteCookie() { var now = new Date(); now.setMonth( now.getMonth() + 1 ); cookievalue = escape(document.myform.customer.value) + ";" document.cookie="name=" + cookievalue; document.cookie = "expires=" + now.toUTCString() + ";" alert("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name="formname" action=""> Enter name: <input type="text" name="customer"/> <input type="button" value="Set Cookie" onclick="WriteCookie()"/> </form> </body> </html>
Padam Kuki:
Kadang-kadang jika anda ingin memadam kuki, apa yang akan dikembalikan apabila anda cuba membaca kuki itu nanti. Untuk melakukan ini, anda hanya perlu menetapkan tarikh tamat tempoh untuk masa yang lalu.
Contoh:
Contoh berikut menunjukkan cara memadam kuki dengan menetapkan tarikh luput sebulan yang lalu:
<html> <head> <script type="text/javascript"> <!-- function WriteCookie() { var now = new Date(); now.setMonth( now.getMonth() - 1 ); cookievalue = escape(document.myform.customer.value) + ";" document.cookie="name=" + cookievalue; document.cookie = "expires=" + now.toUTCString() + ";" alert("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name="formname" action=""> Enter name: <input type="text" name="customer"/> <input type="button" value="Set Cookie" onclick="WriteCookie()"/> </form> </body> </html>
Nota: Tanpa menetapkan tarikh, anda boleh menggunakan fungsi setTime() untuk melihat nilai baharu.