Site hosted by Angelfire.com: Build your free website today!

JavaScript Cookies

CSS Cookies (e.k. küpsised) kasutatakse tavaliselt kasutaja identifitseerimiseks.

Näited:
 red_dot.gif Cookie - 1   red_dot.gif Cookie - 2 

Mis asi on Cookie

Cookie on mingi andmeblokk mida säilitatakse sinu kompuutris. Kui kasutaja esitab päringu serverile siis saab ta sealt kaasa cooki'sid mis salvestatakse kasutaja arvutis. See on vajalik selleks, et järgmisel korral, sama päringu esitamisel, server juba "tunneb" kasutajat.

Cooki'de Tegemine ja Säilitamine

Selles näites luuakse cookie millega säiltatakse külastaja nimi.
Kõigepealt luuakse funktsioon mis salvestab külastaja nime:

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());
}

Ülal toodud näites, funktsiooni parameetrid sisaldavad cookie nime, cookie väärtust ja päevade arvu kuni cookie ilmub.

Kõigepealt muudame kehtiva daatumi numbri. Seejärel lisame numbri mis määrab päevade arvu kuni cookie ilmub. Lõpuks salvestame cookie nime, cookie väärtuse ja lõpu daatumi dokumendis: "document.cookie object".

Nüüd loome teise funktsiooni mis kontrollib kas cookie on seadistatud:

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 "";
}

Ülal olev funktsioon kontrollib kõigepealt kas cookie on üldse salvestatud dokumenti "document.cookie object".

Lõpuks loome funktsiooni mis kuvab tervitusteksti või siis kuvab "prompt box'i" kuhu külastaja saab kirjutada oma nime:

function checkCookie()
{
username=getCookie('username');
if (username!=null && username!="")
{
alert('Welcome again '+username+'!');
}
else 
{
username=prompt('Please enter your name:',"");
if (username!=null && username!="")
{
setCookie('username',username,365);
} 
}
}

Kogu kood näeb välja selline:

      <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('Please enter your name:',"");
  if (username!=null && username!="")
    {
    setCookie('username',username,365);
    }
  }
}
  </script>
    </head>
    <body onLoad="checkCookie()">
     </body>
       </html>

Ülal toodud kood käivitab funktsiooni "checkCookie()" siis kui lehekülg laeb alla.