Jeg ville lave det med to forskellige cookies, een med en kort udløbstid, f.eks. en time eller en dag, og een med en længere udløbstid, f.eks. et år ...
Og så lave en lillebitte index.html, som kun har til opgave at checke cookies og redirecte efter om de findes eller ikke findes, ca. sådan:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<title>Redirect</title>
<script language="javascript" type="text/javascript">
c1 = hentCookie('back');
c2 = hentCookie('start');
if(!c1 && !c2)location.href="dinStartSide.html";//den med over/under 16-links
if(c1=='u16'||c2=='u16')location.href="sideU16.html";
if(c1=='o16'||c2=='o16')location.href="sideO16.html";
</script>
<!-- her indsættes cookie-maskinen script-slut- og -start-tag lige efter hinanden kan udelades -->
<body></body>
</html>
På den side, hvor du har links indsætter du ligeledes cookie-maskinen, og aktiverer dette script onclick på dine links:
<script type="text/javascript">
function setCookie(link){
exp = (document.FORMNAVN.CHECKBOXNAVN.checked)?365:1;
skrivCookie(((exp==1)?'back':'start'),link,exp);
}
</script>
-- og dine links sådan:
<form name="FORMNAVN">
<a href="sideO16.html" onclick="setCookie('o16')">Jeg er over 16 år</a><br>
<a href="sideU16.html" onclick="setCookie('u16')">Jeg er under 16 år</a><br>
Jeg vil have at den husker min alder: <input type="checkbox" name="CHECKBOXNAVN">
</form>
Herefter kan du bare linke til index.html i dine 'Tilbage til forsiden'-links !-)
-- og her er lige cookie-maskinen:
<script language="javascript" type="text/javascript">
function skrivCookie(name,value,expTime,path){//Tid i dage
switch(skrivCookie.arguments.length){
case 1:
var expTime = 0;
var path = "/";
case 2:
var expTime = 0;
var path = "/";
case 3:
var path = "/";
}
var exp = new Date().getTime()+expTime*24*60*60*1000;
exp = new Date(exp).toGMTString();
var cook = name + " = " + escape(value) + ";expires=" + exp + ";path=" + path;
document.cookie = cook;
}
function hentCookie(name){
if (document.cookie){
var n = document.cookie.indexOf(name+"=");
if (n>-1){
var val = document.cookie.substring(n+name.length+1);
n = val.indexOf(";");
if(n>-1)val=val.substring(0,n);
return unescape(val);
}
}else return null;
}
</script>