Rumah > hujung hadapan web > tutorial js > JS menetapkan kuki, membaca kuki dan memadam kemahiran cookies_javascript

JS menetapkan kuki, membaca kuki dan memadam kemahiran cookies_javascript

WBOY
Lepaskan: 2016-05-16 16:03:07
asal
999 orang telah melayarinya

JavaScript ialah skrip yang dijalankan pada bahagian klien, jadi secara amnya tidak mungkin untuk menyediakan Sesi kerana Sesi berjalan pada bahagian pelayan.

Kuki dijalankan pada pelanggan, jadi anda boleh menggunakan JS untuk menetapkan kuki.

Andaikan terdapat situasi sedemikian dalam proses kes penggunaan tertentu, lompat dari halaman A ke halaman B. Jika dalam halaman A, JS digunakan untuk menyimpan nilai pembolehubah tertentu menggunakan temp pembolehubah, apabila di halaman B. , sama Anda perlu menggunakan JS untuk merujuk nilai pembolehubah temp Kitaran hayat pembolehubah global atau pembolehubah statik dalam JS adalah terhad Apabila lompatan halaman berlaku atau halaman ditutup, nilai pembolehubah ini akan menjadi dimuat semula, iaitu, mereka belum disimpan kesan. Penyelesaian terbaik untuk masalah ini ialah menggunakan kuki untuk menyimpan nilai pembolehubah Jadi bagaimana untuk menetapkan dan membaca kuki?

Pertama sekali, anda perlu memahami sedikit struktur kuki Secara mudah: kuki disimpan dalam bentuk pasangan nilai kunci, iaitu dalam format kunci=nilai. Setiap kuki biasanya dipisahkan dengan ";".

Kuki set JS:

Anggapkan bahawa dalam halaman A, anda ingin menyimpan nilai nama pengguna berubah ("jack") ke kuki, dan nilai kuncinya ialah nama, maka kod JS yang sepadan ialah:

Salin kod Kod adalah seperti berikut:

document.cookie="name=" username;

Kuki bacaan JS:

Andaikan kandungan yang disimpan dalam kuki ialah: name=jack;password=123

Kod JS untuk mendapatkan nilai nama pengguna berubah dalam halaman B adalah seperti berikut:

var username=document.cookie.split(";")[0].split("=")[1];
//JS操作cookies方法!
//写cookies
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

Salin selepas log masuk

Baca kuki

function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}

Salin selepas log masuk

Padam kuki

function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
//使用示例
setCookie("name","hayden");
alert(getCookie("name"));
//如果需要设定自定义过期时间
//那么把上面的setCookie 函数换成下面两个函数就ok;
//程序代码
function setCookie(name,value,time)
{
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getsec(str)
{
alert(str);
var str1=str.substring(1,str.length)*1;
var str2=str.substring(0,1);
if (str2=="s")
{
return str1*1000;
}
else if (str2=="h")
{
return str1*60*60*1000;
}
else if (str2=="d")
{
return str1*24*60*60*1000;
}
}
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
setCookie("name","hayden","s20");
Salin selepas log masuk

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan