Problem med at cookie bliver ignoreret
Jeg har et underligt cookie-relateret problem. En side skal kalde en popup-boks med et afkrydsningsfelt \"Vis ikke denne side igen [ ]\". Hvis brugeren sætter hak i feltet, må boxen ikke blive vist igen, førend der er gået X dage.Problemet er at det ikke virker stabilt; ofte kommer boxen frem, selv om tiden ikke er udløbet. Andre gange fungerer det godt nok; jeg kan ikke finde noget system i det.
Koden til at styre cookien ser således ud:
//
// updateCookie.js
//
// The following fields must exist:
// var antalDage
//
// Result:
// document.Ok == document.Ok|false
//
var visEj = false;
udloebsDato = new Date;
udloebsDato.setDate(udloebsDato.getDate()+antalDage);
if(document.cookie != \"\") {
visEj = (document.cookie.split(\"=\")[1] == \"true\" ? true : false);
if(visEj) document.Ok = false;
}
function updateCookie(field)
{
visEj = field.checked;
document.cookie = \"visEj=\" + visEj + \";expires=\" + udloebsDato.toGMTString();
}
// End
Variablen antalDage er defineret på den side, hvor scriptet kaldes. Propertyen document.Ok sættes til false, hvis siden ikke skal vises (endnu).
Funktionen updateCookie bliver kaldt, når brugeren sætter/fjerner hakket i checkboxen.
Det skal i øvrigt fungere på både IE4.0+/NS4.0.7+
På forhånd tak!
