En cookie er en liten tekstfil som lagres i browseren på datamaskinen (klienten) og som inneholder informasjon fra forrige gang du brukte en spesiell webside. Hver gang du åpner den samme websiden igjen vil browseren sende cookien til serveren . I JavaScript kan man både lagre og hente cookie-verdier.
document.cookie = streng;
streng = document.cookie.substring(c_start,c_end)
Siden cookiene er lagret som en tekststreng så trenger vi å bruke stringmetoder for å hente frem verdien. Bruker indexOf som returnerer indeksen til første forekomsten av en string/karakter.
Eksempel:
S='Hallo alle sammen';
i=S.indexOf('a') -->i:1
i=S.lastIndexOf('a') -->i:12
Vi skal lage et enkelt progran som setter to cookies når websiden avsluttes og henter dem frem når lastes. Bruker to eventer til å kalle funksjonene:
<body onLoad="checkCookie()"; onunload="setCookie()">
Hele programmet ser slik ut
<html> <head> <script type="text/javascript"> function setCookie() { var exdate=new Date(); var expiredays=365; exdate.setDate(exdate.getDate()+expiredays); value=document.getElementById("name").value; c_name='username'; document.cookie=c_name+ "=" +escape(value) + "; expires="+exdate.toGMTString(); value=document.getElementById("adr").value; c_name='adresse'; document.cookie=c_name+ "=" +escape(value) + "; expires="+exdate.toGMTString(); } function checkCookie() { username=getCookie('username'); if (username!=null && username!="") { document.getElementById("name").value=username; } adresse=getCookie('adresse'); if (adresse!=null && adresse!="") { document.getElementById("adr").value=adresse; } } 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 "" } <script> <head> <body onLoad="checkCookie()"; onunload="setCookie()"> <form> Navn: <input id="name" type="text" size="20" value="" /> Adresse: <input id="adr" type="text" size="20" value="" /> </form> </body> </html> |
Eksempel: cookietest.html