ciao, ti propongo un alternativa, una applicazione che ho appena fatto:
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//IT">
<html>
<head>
<script src="WDL_cookie.js"></script>
<script>
/*********************************************************************************
*
* Applicazione "Mostra popup a distanza di N giorni"
*
* autore : Danilo "Dennis" Pederiva - burton_tel0@hotmail.com
* data : 30/08/2003
*
/*********************************************************************************/
//*************** Variabili da settare ***************//
nomeCookie="caricaAcaso";
numeroGiorni=10;
pagina="prova.htm";
titolo="popup";
attributi="";
//***************************************************//
C=WDL.Cookie;
ora=new Date()
tempoDifferenza=1000*60*60*24*numeroGiorni;
//Se esiste il cookie
if(C.leggi(nomeCookie)){
//Se sono passati 15 giorni dall'apertura dell'ultima popup (faccio la differenza tra ora e la data del cookie
if(ora.getTime()-parseInt(C.leggi(nomeCookie))>tempoDifferenza){
window.open(pagina,titolo,attributi)
C.setta(nomeCookie,ora.getTime());
}
}
//Altrimenti, apri la popup e setta il cookie
else{
window.open(pagina,titolo,attributi)
C.setta(nomeCookie,ora.getTime());
}
</script>
</head>
<body>
</body>
</html>
il file esterno WDL_cookie.js:
codice:
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::: :::::::::::::*/
/*::::::::::::: Libreria per la gestione dei Cookie :::::::::::::*/
/*::::::::::::: :::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
if(!window.WDL){WDL={}}
WDL.cookieLibrary = true;
WDL.Cookie = {
attivi : navigator.cookieEnabled,
msg : ["I Cookie sono disabilitati : impossibile eseguire l'operazione","Nome del cookie non valido : impossibile eseguire l'operazione"],
nomeValido : function(nome){
var rExp = /^[0-9]|\$/i;
if(typeof(nome)=="string"&&!rExp.test(nome)){return true}else{alert(this.messaggi[1]);return false;}
},
setta : function(nome,valore,durata,percorso,dominio,sicurezza){
if(this.attivi){
if(this.nomeValido(nome)){
if(durata){
var data_scadenza = new Date ();
data_scadenza.setTime(data_scadenza.getTime()+(durata.constructor==Array?durata[0]*24*3600*1000+durata[1]*3600*1000+durata[2]*60*1000+durata[3]*1000:durata*24*3600*1000));
}
document.cookie=nome+"="+unescape(valore)+(durata?"; expires="+data_scadenza.toGMTString():"")+(percorso?"; path="+unescape(percorso):"")+(dominio?"; domain="+unescape(dominio):"")+(sicurezza?"; secure":"");
return true;
}
else return false;
}
else{alert(this.messaggi[0]);return false;}
},
leggi : function(nome){
if(this.attivi&&document.cookie.length>0&&this.nomeValido(nome)){
var inizio=document.cookie.indexOf(nome+"=");
if(inizio != -1){
inizio+=nome.length+1;
var fine=document.cookie.indexOf(";",inizio);
if (fine==-1) fine = document.cookie.length;
return unescape(document.cookie.substring(inizio,fine));
}
}
else{alert(this.msg[0]); return null;}
},
leggiTutti : function(locali){
if(this.attivi&&document.cookie.length>0&&this.nomeValido(nome)){
var inizio=document.cookie.indexOf(nome+"=");
if(inizio != -1){
inizio+=nome.length+1;
var fine=document.cookie.indexOf(";",inizio);
if (fine==-1) fine = document.cookie.length;
return unescape(document.cookie.substring(inizio,fine));
}
}
else{alert(this.msg[0]); return null;}
},
cancella : function(nome,percorso,dominio){
if(this.attivi){
document.cookie = nome + "=; expires=Thu, 01-Jan-70 00:00:01 GMT"+(percorso?"; path="+unescape(percorso):"")+(dominio?"; domain="+unescape(dominio):"");
return true;
}
else{alert(this.msg[0]); return null;}
},
modifica : function(nome,valore,giorni_durata,percorso,dominio,sicurezza){
return this.leggi(nome)?this.setta(nome,valore,giorni_durata,percorso,dominio,sicurezza):false;
}
};
il file esterno includilo e lascialo lì quei pochi parametri che devi configurare sono chiaramente visibili..
fammi sapere!