Maison  >  Article  >  interface Web  >  JS définit les cookies, lit les cookies et supprime les compétences cookies_javascript

JS définit les cookies, lit les cookies et supprime les compétences cookies_javascript

WBOY
WBOYoriginal
2016-05-16 16:03:07976parcourir

JavaScript est un script qui s'exécute côté client, il n'est donc généralement pas possible de configurer une session car la session s'exécute côté serveur.

Le cookie s'exécute sur le client, vous pouvez donc utiliser JS pour définir le cookie.

Supposons qu'une telle situation existe. Dans un certain processus de cas d'utilisation, passez de la page A à la page B. Si vous êtes dans la page A, JS est utilisé pour enregistrer la valeur d'une certaine variable en utilisant la variable temp, lorsque vous êtes dans la page B. , la même chose Vous devez utiliser JS pour référencer la valeur de la variable temp. Le cycle de vie des variables globales ou des variables statiques dans JS est limité Lorsqu'un saut de page se produit ou que la page est fermée, les valeurs de ces variables seront. rechargés, c'est-à-dire qu'ils n'ont pas été enregistrés. La meilleure solution à ce problème est d'utiliser des cookies pour enregistrer la valeur de la variable. Alors, comment définir et lire les cookies ?

Tout d'abord, vous devez comprendre un peu la structure des cookies. En termes simples : les cookies sont enregistrés sous la forme de paires clé-valeur, c'est-à-dire au format clé=valeur. Chaque cookie est généralement séparé par ";".

JS définit un cookie :

Supposons qu'à la page A, vous souhaitiez enregistrer la valeur de la variable nom d'utilisateur ("jack") dans un cookie et que la valeur clé est nom, alors le code JS correspondant est :

Copier le code Le code est le suivant :

document.cookie="name=" nom d'utilisateur;

Cookie de lecture JS :

Supposons que le contenu stocké dans le cookie soit : name=jack;password=123

Le code JS pour obtenir la valeur de la variable username dans la page B est le suivant :

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

Lire les cookies

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

Supprimer les cookies

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

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn