Darbam mums būs nepieciešamas divas funkcijas : cookie uzstādīšanas un nolasīšanas funkcijas
Cookie uzstādīšanas funkcija :
function set_cookie(name, value, expires)
{
if (!expires)
{
expires = new Date();
}
document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() + "; path=/";
}
Cookie nolasīšanas funkcija :
function get_cookie(name)
{
cookie_name = name + "=";
cookie_length = document.cookie.length;
cookie_begin = 0;
while (cookie_begin < cookie_length)
{
value_begin = cookie_begin + cookie_name.length;
if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
{
var value_end = document.cookie.indexOf (";", value_begin);
if (value_end == -1)
{
value_end = cookie_length;
}
return unescape(document.cookie.substring(value_begin, value_end));
}
cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1;
if (cookie_begin == 0)
{
break;
}
}
return null;
}
Uzstādīšanas un nolasīšanas piemērs :
Piemērā klikšķinot uz saites "Uzstādīšana", ierakstām pārlūkā cookie. To paveicam ar sekojošo funkciju:
function save_cookie() {
var name = "example" // cookie vārds
var tmp = "Sveiks, es esmu tavs kūkijs :)!"; // ierakstāmā cookie vērtība
expires = new Date(); // šībrīža datums
expires.setTime(expires.getTime() + (1000 * 86400 * 365)); // cookie derīguma laiks
set_cookie(name, tmp, expires); // uzstādām cookie
}
Šīs funkcijas izsaukšana no HTML :
<a href="javascript:save_cookie();">Uzstādīšana</a>
Lai nolasītu cookie, izmantosim funkciju get_cookie() un uzskatāmībai ierakstīsim iegūto lielumu HTML-slānī (div). Izdarīsim to ar šādu funkciju :
function write_cookie() {
// iegūstam cookie un ierakstām to slānī layer ar innerHTML palīdzību
document.getElementById('layer').innerHTML = get_cookie('example');
}
Šīs funkcijas izsaukšana no HTML :
<a href="javascript:write_cookie();">Nolasīšana</a> // slānis, kurā izvadām cookie vērtību<div id="layer" style="padding:5px;"></div>
Strādājošs piemērs
Piemērs masīva saglabāšanai un iegūšanai :
Cookie uzstādīšana un iegūšana ir līdzīga iepriekšējā piemērā aprakstītajam, ar to atšķirību, ka pirms tam nepieciešams apstrādāt pašu masīvu.
Iegūstam masīva vērtības un ierakstām tās cookie ar funkciju save_array():
function save_array() {
var myArray = [1, 2, "sveiks"]; // masīvs ar vērtībām
var tmp = "";
if (myArray != null) {
// apsekojam masīvu, savācot visas vērtības vienā mainīgajā un atdalot tās ar komatu
for (i in myArray)
{
if (myArray[i] != "") {
tmp = tmp + myArray[i];
if (i != myArray.length-1) {
tmp = tmp + ",";
}
}
}
}
expires = new Date(); // šībrīža datums
expires.setTime(expires.getTime() + (1000 * 86400 * 365)); // cookie derīguma termiņš
set_cookie("example", tmp, expires); // uzstādām cookie ar funkciju set_cookie
}
Šīs funkcijas izsaukšana no HTML :
<a href="javascript:save_array();">Uzstādīšana</a>
Nolasām cookie vērtības un izvadām tās HTML-slānī (div) :
function write_array() {
var getmyArray = get_cookie('example'); // nolasām cookie vērtības
var tmp = '';
getmyArray = getmyArray.split(",") // sadalām mainīgo atsevišķās vērtībās un ierakstām tās masīvā
for (i=0; i<getmyArray.length; i++) // apsekojam masīvu un formatējam to izvadei
{
tmp += getmyArray[i];
if (i != getmyArray.length) {
tmp += "<br />";
}
}
// izvadām masīvu slānī ar identifikātoru layer2
document.getElementById('layer2').innerHTML = tmp;
}
Šīs funkcijas izsaukšana no HTML :
<a href="javascript:write_array();">Izvadīt masīvu</a> // slānis, kurā tiek izvadītas cookie vērtības
<div id="layer2" style="padding:5px;"></div>









