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>