Maison  >  Article  >  interface Web  >  Explication détaillée des exemples de fonctionnement des cookies Js (paramétrage, lecture, suppression)

Explication détaillée des exemples de fonctionnement des cookies Js (paramétrage, lecture, suppression)

零下一度
零下一度original
2017-05-18 11:53:211631parcourir

Résumé du fonctionnement du cookie Js (paramétrage, lecture, suppression) , qui est souvent utilisé dans le travail ! Voici le code détaillé. S'il y a des erreurs, veuillez laisser un message pour me corriger !

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.

Et les cookies s'exécutent sur le client, vous pouvez donc utiliser JS pour définir des cookies

Supposons qu'une telle situation se présente, dans un certain processus de cas d'utilisation, passez de la page A à la page B, Si vous utilisez JS pour enregistrer la valeur d'une certaine variable à l'aide de la variable temp dans la page A, vous devez également utiliser JS pour référencer la valeur de la variable temp dans la page B. 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ées, c'est-à-dire que l'effet de sauvegarde n'est pas obtenu. 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 ";".

Cookie de paramétrage JS :

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

document
.cookie="name="+username;

JS lit le cookie :

Supposons que le contenu stocké dans le cookie est : 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");

[Recommandations associées]

1. Comment désactiver les cookies et résoudre le problème de session. et destruction des cookies après fermeture du navigateur

2 Que sont les cookies ? A quoi servent les cookies ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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