Cookies JavaScript
Les cookies sont utilisés pour identifier les utilisateurs.
<html> <mate chatset="utf-8"> <head> <script type="text/javascript"> function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return "" } function setCookie(c_name,value,expiredays) { var exdate=new Date() exdate.setDate(exdate.getDate()+expiredays) document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : "; expires="+exdate.toGMTString()) } function checkCookie() { username=getCookie('username') if (username!=null && username!="") {alert('Welcome again '+username+'!')} else { username=prompt('请输入姓名:',"") if (username!=null && username!="") { setCookie('username',username,365) } } } </script> </head> <body onLoad="checkCookie()"> </body> </html>
Que sont les cookies ?
Un cookie est une variable qui est stockée sur l'ordinateur d'un visiteur. Ce cookie est envoyé chaque fois que le même ordinateur demande une page via un navigateur. Vous pouvez utiliser JavaScript pour créer et récupérer des valeurs de cookies.
Exemples de cookies :
Cookie de nom Lorsqu'un visiteur visite une page pour la première fois, il peut renseigner son nom. Le nom sera stocké dans un cookie. Lorsque les visiteurs reviennent sur le site, ils reçoivent un message de bienvenue du type « Bienvenue John Doe ! » Le nom est récupéré du cookie. Cookie de mot de passe Lorsqu'un visiteur visite une page pour la première fois, il peut renseigner son mot de passe. Les mots de passe peuvent également être stockés dans des cookies. Lorsqu'ils visitent à nouveau le site, le mot de passe est récupéré à partir du cookie. Cookie de date Lorsqu'un visiteur visite votre site Web pour la première fois, la date actuelle peut être stockée dans le cookie. Lorsqu'ils visitent à nouveau le site, ils reçoivent un message similaire à celui-ci : « Votre dernière visite remonte au mardi 11 août 2005 ! ». La date est également récupérée du cookie.
Création et stockage de cookies
Dans cet exemple, nous allons créer un cookie qui stocke le nom du visiteur. Lorsque les visiteurs visitent le site pour la première fois, il leur est demandé de renseigner leur nom. Le nom sera stocké dans un cookie. Lorsque les visiteurs reviennent sur le site Web, ils reçoivent un message de bienvenue.
Tout d'abord, nous allons créer une fonction qui stocke le nom du visiteur dans la variable cookie :
function setCookie(c_name,value,expiredays) { var exdate=new Date() exdate.setDate(exdate.getDate()+expiredays) document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) }
Les paramètres de la fonction ci-dessus stockent le nom, la valeur et la date d'expiration du cookie.
Dans la fonction ci-dessus, nous convertissons d'abord le nombre de jours en une date valide, puis nous stockons le nom du cookie, sa valeur et sa date d'expiration dans l'objet document.cookie.
Après cela, nous souhaitons créer une autre fonction pour vérifier si le cookie a été défini :
function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return "" }
La fonction ci-dessus vérifiera d'abord si le cookie existe dans l'objet document.cookie. Si l'objet document.cookie stocke certains cookies, il continuera à vérifier si les cookies que nous spécifions ont été stockés. Si le cookie souhaité est trouvé, une valeur est renvoyée, sinon une chaîne vide est renvoyée.
Enfin, nous devons créer une fonction. La fonction de cette fonction est la suivante : si le cookie a été défini, afficher le message de bienvenue, sinon afficher une boîte de dialogue pour demander à l'utilisateur de saisir un nom.
function checkCookie() { username=getCookie('username') if (username!=null && username!="") {alert('Welcome again '+username+'!')} else { username=prompt('请输入姓名:',"") if (username!=null && username!="") { setCookie('username',username,365) } } }
Voici tout le code :
<html> <head> <script type="text/javascript"> function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return "" } function setCookie(c_name,value,expiredays) { var exdate=new Date() exdate.setDate(exdate.getDate()+expiredays) document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) } function checkCookie() { username=getCookie('username') if (username!=null && username!="") {alert('Welcome again '+username+'!')} else { username=prompt('请输入姓名:',"") if (username!=null && username!="") { setCookie('username',username,365) } } } </script> </head> <body onLoad="checkCookie()"> </body> </html>