Здравствуйте. Сейчас пытаюсь сделать счетчик посещений для своего сайта, в котором подсчитывалось бы количество заходов на сайт через cookie.
Нашел отдельные части функций, объединил их, получилось следующее:
<script>
// создает функцию, которая возвращает значение указанного cookie с именем 'cname'
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
// записывает значения cookie (если они есть) в переменные
var visitCount = getCookie("visitCount");
var currentSession = getCookie("currentSession");
// создает функцию, которая записывает cookie 'visitCount'
function setVisitCountCookie(cookieValue) {
var cookieName = "visitCount";
var expirationTime = 7776000;
expirationTime = expirationTime * 1000;
var date = new Date();
var dateTimeNow = date.getTime();
date.setTime(dateTimeNow + expirationTime);
var expirationTime = date.toUTCString();
document.cookie = cookieName+"="+cookieValue+"; expires="+expirationTime+"; path=/; domain=." + location.hostname.replace(/^www\./i, "");
}
// создает функцию, которая записывает вспомогательный файл cookie 'currentSession'
function setCurrentSessionCookie() {
var cookieName = "currentSession";
var cookieValue = "true";
document.cookie = cookieName+"="+cookieValue+"; path=/; domain=." + location.hostname.replace(/^www\./i, "");
}
// проверяет, есть ли уже файл-cookie с именем 'visitCount'
if
(visitCount == '')
// если нет, то записывает значение '1'
{
setVisitCountCookie('1');
setCurrentSessionCookie();
}
// если он есть, то проверяет, было ли значение файла-cookie 'visitCount' уже добавлено во время этого сеанса (то есть если есть значение для файла-cookie 'currentSession'). Если нет, добавляет +1 к файлу 'visitCount'
else
{
if
(currentSession == '')
{setVisitCountCookie(parseInt(visitCount) + 1);
setCurrentSessionCookie();}
}
</script>
Но почему-то код не отрабатывает. Всегда только 1 визит получается ( Буду признателен за помощь