|
 |
 |
|
 |
För att kunna använda cookies på en sida måste du ha:
- en funktion som kan läsa av cookies (om det finns)
- en funktion som kan lagra cookies
- en funktion som tar bort cookies
Nedanför finns tre funktioner som kan utföra dessa uppdrag:
- getCookie
- setCookie
- delCookie
function getCookie(NameOfCookie)
{
// Först så kontrollerar vi om det finns en cookie lagrad.
// Om det inte finns det blir 'the length' av document.cookie likamed noll.
if (document.cookie.length > 0)
{
// För det andra kontrollerar vi om cookiens namn finns lagrat i
// "document.cookie" objektet för sidan.
// Eftersom fler än en cookie kan skapas på
// en sida, finns möjligheten att våran cookie
// inte finns, även ifall "document.cookie" objektet
// inte bara är en tom text.
// Om vårt cookienamn inte finns, lagras värdet -1
// i variabeln som heter "begin".
begin = document.cookie.indexOf(NameOfCookie+"=");
if (begin != -1) // Notera: != betyder "inte likamed"
{
// Vårat cookie fanns.
// Värdet som finns lagrat i cookien returneras från funktionen.
begin += NameOfCookie.length+1;
end = document.cookie.indexOf(";", begin);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(begin, end)); }
}
return null;
// Vårat cookie fanns inte.
// Värdet "null" returneras från funktionen.
}
|
function setCookie(NameOfCookie, value, expiredays)
{
// Tre variabler används för att skapa en ny cookie.
// Namnet på cookien, värdet som skall lagras,
// och slutligen antalet dagar tills cookien utgår.
// Första raderna i funktionen konverterar
// antalet dagar till ett giltigt datum.
var ExpireDate = new Date ();
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
// Nästa rad lagrar cookien, enkelt genom att bestämma
// värdena för "document.cookie" objektet.
// Notera att datumet konverteras till Greenwichtid genom att använda
// "toGMTstring()" funktionen.
document.cookie = NameOfCookie + "=" + escape(value) +
((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}
|
function delCookie (NameOfCookie)
{
// Funktionen kontrollerar helt enkelt om cookien finns.
// Om så är fallet, är utgångsdatumet satt till 1:e Januari 1970.
if (getCookie(NameOfCookie)) {
document.cookie = NameOfCookie + "=" +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
|
FÅ DET ATT FUNGERA
Bara genom att lägga in koden ovanför, skapar inga cookies. Funktionerna är verktygen du behöver för att läsa av, skapa och ta bort cookies från din sida.
Det slutliga steget för att lägga in en cookie på din sida är att lägga in vad cookien skall göra. Bestäm ifall du vill att cookien skall lagra användarens namn, datumet för hans senaste besök på din sida eller vilket språk han föredrar. Eller använd cookien till precis vad du vill.
I vilket fall som helst så kommer koderna du lägger in i cookiescripten att bli annorlunda.
REN SCRIPT
Nedanför finns cookiescriptet utan kommentarerna. Kopiera och klistra in för att använda scriptet på din egen sida.
function getCookie(NameOfCookie)
{ if (document.cookie.length > 0)
{ begin = document.cookie.indexOf(NameOfCookie+"=");
if (begin != -1)
{ begin += NameOfCookie.length+1;
end = document.cookie.indexOf(";", begin);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(begin, end)); }
}
return null;
}
function setCookie(NameOfCookie, value, expiredays)
{ var ExpireDate = new Date ();
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
document.cookie = NameOfCookie + "=" + escape(value) +
((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}
function delCookie (NameOfCookie)
{ if (getCookie(NameOfCookie)) {
document.cookie = NameOfCookie + "=" +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
|
|
|
 |  |
|