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