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!

Rispondi quotando