Pagina 1 di 1

Modificare nome cookie

Inviato: 19/05/2016, 16:48
da frank
In ogni pagina dei miei articoli, ho messo questo contavisite, però per farli funzionare in modo indipendente ci devo modificare il nome del cookie (ci aggiungo un numero).
Volevo sapere se è possibile usare questo script unico esterno (che poi richiamo in ogni pagina), ma che tramite un accorgimento, fare in modo che il cookie richiamato sia diverso per ogni pagina. In pratica, ogni pagina dovrebbe richiamare lo stesso codice ma leggere il cookie diversamente in modo che conteggiano in modo indipendente.

Questo è lo script che è un po' lungo, se fosse in jQuery sarebbe più corto

Codice: Seleziona tutto

<script>
function GetCookie (name) {  
var arg = name + "=";  
var alen = arg.length;  
var clen = document.cookie.length;  
var i = 0;  
while (i < clen) {
var j = i + alen;    
if (document.cookie.substring(i, j) == arg)      
return getCookieVal (j);    
i = document.cookie.indexOf(" ", i) + 1;    
if (i == 0) break;   
}  
return null;
}
function SetCookie (name, value) {  
var argv = SetCookie.arguments;  
var argc = SetCookie.arguments.length;  
var expires = (argc > 2) ? argv[2] : null;  
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false;  
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) +    
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {  
var exp = new Date();  
exp.setTime (exp.getTime() - 1);   
var cval = GetCookie (name);  
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var expDays = 30;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

// Modificare il nome del cookie per ogni articolo
function amt(){
var count = GetCookie('count3')
if(count == null) {
SetCookie('count3','1')
return 1
}
else {
var newcount = parseInt(count) + 1;
DeleteCookie('count3')
SetCookie('count3',newcount,exp)
return count
   }
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
document.write("<span style=\"color:#cc0000\">"+ amt() +"</span>");
</script>

Re: Modificare nome cookie

Inviato: 10/06/2016, 18:33
da Sir Xiradorn
Beh la pagina è statica o dinamica?

Re: Modificare nome cookie

Inviato: 10/06/2016, 19:07
da frank
Ho risolto con php.