Heim  >  Artikel  >  Web-Frontend  >  JS setzt Cookies, liest Cookies und löscht Cookies_Javascript-Fähigkeiten

JS setzt Cookies, liest Cookies und löscht Cookies_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:03:07977Durchsuche

JavaScript ist ein Skript, das auf der Clientseite ausgeführt wird. Daher ist es im Allgemeinen nicht möglich, eine Sitzung einzurichten, da die Sitzung auf der Serverseite ausgeführt wird.

Das Cookie läuft auf dem Client, sodass Sie JS verwenden können, um das Cookie zu setzen.

Angenommen, es gibt eine solche Situation. Springen Sie in einem bestimmten Anwendungsfall von Seite A zu Seite B. Auf Seite A wird JS verwendet, um den Wert einer bestimmten Variablen mithilfe der Variablen temp zu speichern, auf Seite B , das gleiche Sie müssen JS verwenden, um auf den Variablenwert von temp zu verweisen. Der Lebenszyklus globaler Variablen oder statischer Variablen in JS ist begrenzt, wenn ein Seitensprung auftritt oder die Seite geschlossen wird neu geladen, d. h. sie wurden nicht gespeichert. Die beste Lösung für dieses Problem besteht darin, Cookies zu verwenden, um den Wert der Variablen zu speichern. Wie werden also Cookies gesetzt und gelesen?

Zunächst müssen Sie die Struktur von Cookies ein wenig verstehen: Cookies werden in Form von Schlüssel-Wert-Paaren gespeichert, also im Schlüssel=Wert-Format. Jedes Cookie wird normalerweise durch „;“ getrennt.

JS setzt Cookie:

Angenommen, Sie möchten auf Seite A den Wert der Variablen Benutzername („Jack“) in einem Cookie speichern und der Schlüsselwert ist Name, dann lautet der entsprechende JS-Code:

Code kopieren Der Code lautet wie folgt:

document.cookie="name=" Benutzername;

JS-Lese-Cookie:

Angenommen, der im Cookie gespeicherte Inhalt lautet: name=jack;password=123

Der JS-Code zum Abrufen des Werts der Variablen Benutzername auf Seite B lautet wie folgt:

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();
}

Cookies lesen

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

Cookies löschen

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");

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn