Показать сообщение отдельно
  #1 (permalink)  
Старый 31.03.2020, 00:06
Интересующийся
Отправить личное сообщение для karnager Посмотреть профиль Найти все сообщения от karnager
 
Регистрация: 14.06.2019
Сообщений: 16

Счетчик посещений JS
Здравствуйте. Сейчас пытаюсь сделать счетчик посещений для своего сайта, в котором подсчитывалось бы количество заходов на сайт через 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 визит получается ( Буду признателен за помощь
Ответить с цитированием