Atur cookie
Setiap cookie adalah pasangan nama/nilai.
document.cookie = "userid = 828";
Jika Anda ingin menyimpan beberapa pasangan nama/nilai sekaligus, Anda dapat menggunakan septum plus ruang (;) untuk memisahkan, misalnya:
document.cookie = "userid = 828; username = hulk";
Anda tidak dapat menggunakan nomor segmen (;), koma (,), setara (=) dan ruang dalam nama atau nilai cookie. Sangat mudah untuk melakukan ini atas nama cookie, tetapi nilainya dipertahankan tidak pasti. Bagaimana cara menyimpan nilai -nilai ini? nilai, dan dapat disimpan dalam nilai cookie, dan juga dapat disimpan dalam nilai cookie, dan juga dapat disimpan dalam nilai cookie, dan juga dapat disimpan dalam nilai cookie, dan dapat disimpan Dalam nilai cookie, dan juga dapat disimpan dalam nilai cookie, dan juga dapat disimpan dalam nilai cookie, dan dapat disimpan dalam nilai cookie, dan dapat disimpan dalam nilai cookie, dan itu bisa Disimpan dalam nilai cookie, dan dapat disimpan dalam nilai cookie, dan dapat disimpan. Misalnya:
Document.cookie = "str ="+Escape ("I Love Ajax");
Setara dengan:
document.cookie = "str = i%20Love%20AJAX";
Setelah menggunakan pengkodean Escape (), Anda perlu menggunakan Unescape () untuk decoding setelah mengambil nilai untuk mendapatkan nilai cookie asli, yang telah diperkenalkan sebelumnya.
Meskipun Document.cookie terlihat seperti atribut, itu dapat memberikan nilai yang berbeda. Tetapi tidak sama dengan atribut umum.
document.cookie = "userid = 828";
document.cookie = "nama pengguna = hulk";
Pada saat ini, browser akan mempertahankan dua cookie, yang userid dan nama pengguna, jadi mereka memberikan nilai pada dokumen. Cookie lebih seperti pernyataan seperti ini:
document.addcookie ("userid = 828");
document.addcookie ("nama pengguna = hulk");
Bahkan, browser menetapkan cookie dengan cara ini.
document.cookie = "userId = 929";
Dengan cara ini, atur cookie bernama Userid ke 929.
Dapatkan nilai cookie
Inilah cara mendapatkan nilai cookie. Nilai cookie dapat diperoleh secara langsung oleh dokumen.
Var strcookie = document.cookie;
Ini akan mendapatkan beberapa nama/nilai yang dipisahkan oleh nomor segmen. Misalnya:
<bahasa skrip = "javascript" type = "text/javascript">
<!-
document.cookie = "userid = 828";
document.cookie = "nama pengguna = hulk";
Var strcookie = document.cookie;
waspada (strcookie);
//->
</script>
Gambar 7.1 Tampilkan nilai cookie output. Dapat dilihat bahwa hanya satu nilai cookie yang dapat diperoleh pada satu waktu, dan nama cookie tidak dapat ditentukan untuk mendapatkan nilai yang ditentukan. Pengguna harus menganalisis string ini sendiri untuk mendapatkan nilai cookie yang ditentukan.
<bahasa skrip = "javascript" type = "text/javascript">
<!-
// atur dua cookie
document.cookie = "userid = 828";
document.cookie = "nama pengguna = hulk";
// Dapatkan Cookie String
Var strcookie = document.cookie;
// Beberapa cookie dipotong menjadi beberapa nama/nilai
var arrcookie = strcookie.split (";");
var userid;
// melintasi array cookie, memproses setiap pasangan cookie
untuk (var i = 0; i <arrcookie.length; i ++) {
var arr = arrcookie [i] .split ("=");
// Temukan cookie bernama UserId dan kembalikan nilainya
if ("userid" == arr [0]) {
userid = arr [1];
Merusak;
}
}
peringatan (userid);
//->
</script>
Ini mendapatkan nilai satu cookie
Dalam metode yang sama, Anda bisa mendapatkan nilai satu atau lebih cookie, dan teknik utamanya masih merupakan operasi terkait string dan array.
Tetapkan tanggal penghentian untuk cookie
Sampai sekarang, semua cookie adalah satu cookie sesesi, yaitu, cookie ini akan hilang setelah browser ditutup.
Dalam pengembangan aktual, cookie sering perlu disimpan untuk waktu yang lama, seperti menjaga status login pengguna. Ini dapat diimplementasikan dengan opsi berikut:
document.cookie = "userid = 828; kedaluwarsa = gmt_string";
Di antara mereka, GMT_STRING adalah string waktu yang diwakili oleh format GMT. Misalnya: Jika Anda ingin mengatur cookie untuk kedaluwarsa setelah 10 hari, Anda dapat mengimplementasikannya seperti ini:
Salin kode kode sebagai berikut:
<bahasa skrip = "javascript" type = "text/javascript">
<!-
// Dapatkan waktu saat ini
var date = new date ();
var kedaluwarsa = 10;
// Tetapkan tanggal menjadi 10 hari setelah 10 hari
Date.settime (date.getTime ()+kedaluwarsa*24*3600*1000);
// Atur dua cookie userid dan nama pengguna untuk kedaluwarsa setelah 10 hari
document.cookie = "userId = 828; username = hulk; exhire ="+date.togmtring ();
//->
</script>
Hapus cookie
Untuk menghapus cookie, ia dapat mengatur waktu kedaluwarsa ke masa lalu, seperti ::
Salin kode kode sebagai berikut:
<bahasa skrip = "javascript" type = "text/javascript">
<!-
// Dapatkan waktu saat ini
var date = new date ();
// Tetapkan tanggal sebagai waktu yang lalu
date.settime (date.getTime () -10000);
// hapus userid cookie ini
document.cookie = "userId = 828; exhire ="+date.togmtring ();
//->
</script>
Tentukan jalur yang dapat mengakses cookie
Secara default, jika cookie dibuat pada halaman, halaman lain di direktori di mana halaman juga dapat mengakses cookie. Jika ada sub -direktori di direktori ini, Anda juga dapat diakses di sub -Direktori. Misalnya, cookie yang dibuat di www.xxxx.com/html/b.html atau www.xxx.com/ html/beberapa/c.html tidak dapat diakses oleh www.xxxx.com/d.html.
Untuk mengontrol katalog yang dapat diakses oleh cookie, Anda perlu menggunakan parameter jalur untuk mengatur cookie.
document.cookie = "name = value; path = cookiedir";
Cookiedir mewakili katalog akses ke cookie. Misalnya:
document.cookie = "userid = 320; path =/shop";
Ini berarti bahwa cookie saat ini hanya dapat digunakan dalam direktori pendek.
Jika Anda ingin membuat cookie menggunakannya di bawah seluruh situs web, Anda dapat menentukan cookie_dir sebagai direktori root, seperti:
document.cookie = "userId = 320; path =/";
Tentukan nama host yang dapat mengakses cookie
Mirip dengan jalur, nama host mengacu pada host yang berbeda di domain yang sama, seperti: www.google.com dan gmail.google.com adalah dua nama host yang berbeda. Secara default, cookie yang dibuat di host tidak dapat diakses di bawah host lain, tetapi dapat dikontrol oleh parameter domain untuk mengontrolnya.
document.cookie = "name = value; domain = cookomain";
Ambil Google sebagai contoh.
document.cookie = "name = value; domain = .google.com";
Dengan cara ini, host di bawah semua Google.com dapat mengakses cookie.
Contoh Komprehensif: Membangun Fungsi Pemrosesan Cookie Umum
Proses pemrosesan Cookie lebih rumit dan memiliki kesamaan tertentu. Oleh karena itu, beberapa fungsi dapat didefinisikan untuk menyelesaikan operasi umum cookie, untuk mencapai penggunaan kembali kode. Operasi cookie dan implementasi fungsi yang umum digunakan tercantum di bawah ini.
1. Tambahkan cookie: AddCookie (nama, nilai, kedaluwarsa)
Fungsi ini menerima 3 parameter: nama cookie, nilai cookie, dan bagaimana jam itu berakhir nanti. Waktu kedaluwarsa tidak diatur ketika kedaluwarsa adalah 0, yaitu, cookie secara otomatis menghilang ketika browser ditutup. Fungsi ini diimplementasikan sebagai berikut:
Salin kode kode sebagai berikut:
<bahasa skrip = "javascript" type = "text/javascript">
<!-
Fungsi addCookie (nama, nilai, kedaluwarsa) {
var cookring = name+"="+Escape (value);
// Tentukan apakah waktu kedaluwarsa ditetapkan
if (ExhireHouse> 0) {{
var date = new date ();
date.settime (date.gettime+ExpireHouse*3600*1000);
cookring = cookiestring+"; exhire ="+date.togmtring ();
}
document.cookie = cookiestring;
}
//->
</script>
2. Dapatkan nilai cookie dari nama yang ditentukan: getCookie (nama)
Fungsi ini mengembalikan nilai cookie bernama nama nama.
Salin kode kode sebagai berikut:
<bahasa skrip = "javascript" type = "text/javascript">
<!-
Fungsi getCookie (name) {
Var strcookie = document.cookie;
var arrcookie = strcookie.split (";");
untuk (var i = 0; i <arrcookie.length; i ++) {
var arr = arrcookie [i] .split ("=");
if (arr [0] == name) return arr [1];
}
Kembali "" ";
}
//->
</script>
3. Hapus cookie dengan nama yang ditentukan: deletecookie (nama)
Fungsi ini dapat menghapus cookie dari nama yang ditentukan, dan implementasinya adalah sebagai berikut:
Salin kode kode sebagai berikut:
<bahasa skrip = "javascript" type = "text/javascript">
<!-
Fungsi getCookie (name) {
Var strcookie = document.cookie;
var arrcookie = strcookie.split (";");
untuk (var i = 0; i <arrcookie.length; i ++) {
var arr = arrcookie [i] .split ("=");
if (arr [0] == name) return arr [1];
}
Kembali "" ";
}
//->
</script>
Anda juga dapat menggunakan online lain:
Salin kode kode sebagai berikut:
<bahasa skrip = "javascript" type = "text/javascript">
Fungsi setcookie (nama, nilai) // dua parameter, satu adalah nama cookie, yang lain adalah nilainya
{{
var hari = 30; // cookie ini akan disimpan selama 30 hari
var exp = tanggal baru (); // tanggal baru ("31 Desember, 9998");
exp.settime (exp.getTime () + hari*24*60*60*1000);
document.cookie = name + "=" + Escape (value) + "; Expires =" + exp.togmtring ();
}
Fungsi getCookie (nama) // ambil fungsi cookie
{{
var anrr = document.cookie.match (regexp baru ("(" (^|) "+name+" = ([^;]*) (; | $) "))));
if (arr! = null) return unescape (arr [2]);
}
fungsi delcookie (nama) // hapus cookie
{{
var exp = new date ();
exp.settime (exp.getTime () - 1);
var cval = getCookie (name);
if (cval! = null) document.cookie = name+"="+cval+"; Expires ="+exp.togmtString ();
}
SetCookie ("Xiaoqi", "3")
Peringatan (getCookie ('xiaoqi');
</script>