Продолжая свои эксперименты с трафом и поведенческими факторами, решил я сделать следующую вещь:
Заходя на сайт (дорвей, в моём случае) юзер видит баннер, который перекрывает всю страницу. Нажимает на «закрыть», баннер закрывается, ставится кука, пользователь больше не видит его в течении месяца и спокойно путешествует по дору, кликает на страницы, редиректа на платник пока не происходит.
Итак, решение вопроса:
1) Сперва устанавливаем функции, которые будут использоваться. Это установка куки, чтение куки, проверка уникальности
<script language="JavaScript" type="text/javascript"> // Установка куки (Имя, значение, Возраст, дальше хуйня) function setCookie(name, value, expires, path, domain, secure) { if (!name || !value) return false; var str = name + '=' + encodeURIComponent(value); if (expires) str += '; expires=' + expires.toGMTString(); if (path) str += '; path=' + path; if (domain) str += '; domain=' + domain; if (secure) str += '; secure'; document.cookie = str; return true; } // Получение куки по её имени function getCookie(name) { var pattern = "(?:; )?" + name + "=([^;]*);?"; var regexp = new RegExp(pattern); if (regexp.test(document.cookie)) return decodeURIComponent(RegExp["$1"]); return false; } // Функция закрытия баннера function closebanner(){document.getElementById('ID блока').style.display = 'none';} // Провяем, есть ли кука. Если нет - показываем блок и ставим куку var vodka = getCookie('имя куки'); if (!vodka) { var d = new Date(); d.setMonth(d.getMonth() + 1); // 1 месяц ставим setCookie('имя куки', 'from+russia+with+love', d); // Привет Амерамdocument.getElementById('ID блока').style.display = 'block'; } </script>
Все вроде понятно. Данные не забываем менять на свои. Едем дальше.
2) Сам код в HTML
<style type="text/css"> /* Фиксируем блок в верхнему краю 100%-100% */ #ID блока{text-align:center;position:fixed;top:0px;left:0px;width:100%;height:100;} /* для удобства подвинул вниз баннер */ #ID блока img {margin-top:100px;border:0px;} </style> <div id="ID блока" style="display:none;"><a href="javascript:close();"><img src="http://banner-url.com"></a></div>
Изначально ставим display:none. Объясню для чего это. К примеру если юзер будет повторно заходить на сайт, либо просто будет кликать по ссылкам и бегать по ним, окно будет появляться и сразу же исчезать. Ну такое лучше не допускать.
Далее, самое главное, на чём я сегодня потерял 2 с лишним часа. Не забывайте, что браузер обрабатывает код по мере его считывания. По этому порядок должен быть такой, сначала вывод блока (то есть пункта номер 2), а затем обработка и проверка кук на JS (это первый пункт). Я про это забыл и долго думал, почему же не получается, как надо. А так как изначально блок с рекламой будет невидимым, то боятся его появления не нужно. Оно вылезет, если куки не будет. Вот так.
Ну в принципе вот и всё, чем хотел поделиться. Вам решать, для чего это всё может пригодится Если будете экспериментировать, советую совместить эту систему с счётчиком кликов, про который я уже писал.