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 :
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.